【发布时间】:2014-09-01 13:09:27
【问题描述】:
我正在使用的一些扩展在 VS2012 下被破坏,因为在某些时候它们被更新为与 VS2013 一起使用,通过更改引用库的版本。在运行时可能会产生这样的错误:
无法加载文件或程序集“Microsoft.VisualStudio.Shell.12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。系统找不到指定的文件。
-
我看到各种扩展引用同一个库的多个版本:
<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" /> 其他人发布每个 VS 版本的扩展。
- 另一个选项,根据this article,是动态加载正确的版本。
我想帮助修复这些扩展,但解决此问题的正确方法是什么?
【问题讨论】:
-
看看 PyTools(Visual Studio 项目),它非常优雅地解决了类似的问题。即,您需要根据您当前的 Visual Studio 版本包含正确的 DLL。它是通过巧妙的 MSBuild 技巧完成的。
标签: visual-studio visual-studio-extensions