问题描述
|
是否可以构建可在多个版本的Visual Studio中使用的调试可视化工具?
调试可视化程序必须引用Microsoft.VisualStudio.DebuggerVisualizers.dll,并且每个Visual Studio版本都有单独的程序集版本。这些版本似乎不兼容。例如,如果我构建了引用Microsoft.VisualStudio.DebuggerVisualizers v9.0的可视化程序,则可以在Visual Studio 2008中使用它,但不能在Visual Studio 2010中使用它。
我正在寻找一种针对至少Visual Studio 2008和Visual Studio 2010的方法,同时只为可视化程序维护一个项目。复制项目并仅更改对Microsoft.VisualStudio.DebuggerVisualizers的引用即可,但是会产生维护恐怖。
解决方法
如果您的代码库对于两个引用的程序集都是完全相同的,那么我建议使用与在此问题中建议的方法相同的方法:Visual Studio安装程序-更改应用程序资源
想法是有1个项目,在该项目中将具有VS定位的MSBuild属性,根据该属性,您可以引用VS 2008或VS 2010 DebuggerVisualizers程序集。
我看到的唯一其他解决方案是您提到的解决方案-具有2个单独的项目文件以针对不同的VS版本。如果您不重复代码,那么维护两个版本并不难。而且,通过将代码文件作为链接包含到项目中,可以避免重复代码。