Kilka rozszerzeń, których używam, jest zepsuta pod VS2012, ponieważ w pewnym momencie zostały one zaktualizowane do pracy z VS2013, przez zmianę wersji odwołujących się bibliotek. W czasie wykonywania błąd jak ten może być produkowany:W jaki sposób rozszerzenie VS może realizować wiele wersji w odniesieniu do Microsoft.VisualStudio. * Referencje?
Nie można załadować pliku lub zestawu „Microsoft.VisualStudio.Shell.12.0, Version = 12.0.0.0, culture = neutralnym, TokenKluczaPublicznego = b03f5f7f11d50a3a” lub jeden z jego zależnościami . System nie może odnaleźć określonego pliku.
widzę różne rozszerzenia przedstawieniu wielu wersji tej samej biblioteki:
<Reference Include="Microsoft.VisualStudio.Shell.Interop" /> <Reference Include="Microsoft.VisualStudio.Shell.Interop.8.0, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <Reference Include="Microsoft.VisualStudio.Shell.Interop.9.0, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
Inne zwolnić za rozszerzenie wersji VS.
- Inną opcją, zgodnie z this article, jest dynamiczne ładowanie odpowiedniej wersji.
Chciałbym pomóc w naprawieniu tych rozszerzeń, ale jaki jest właściwy sposób rozwiązania tego problemu?
Spójrz na PyTools (projekt Visual Studio), to rozwiązuje podobny problem dość elegancko. Mianowicie, musisz dołączyć poprawną bibliotekę DLL na podstawie twojej aktualnej wersji studyjnej. Robi się to dzięki sprytnym sztuczkom MSBuild. –