我们正在转向Visual Studio 2012,并希望确保我们所有的程序都能正常运行。我已经广泛测试了一个C#程序,并希望生产版本能够使用VS 2012。
我们正在使用CruiseControl进行生产构建,并使用MsBuild.exe构建.NET程序。使用的XML和参数没有提到哪个编译器版本,并且在查看构建输出时我无法分辨使用哪个编译器。 (构建服务器具有VS 2008,VS 2010和VS 2012可用。)
当我双击解决方案文件时,它出现在VS 2010中,无论我上次使用2010或2012打开并编译它。我能够通过在文本编辑器中查看解决方案文件的前两行来改变它:
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
并将2010年改为2012年。
为了确保CruiseControl / MsBuild使用2012编译器编译它,我可以进行上述更改吗?我应该这样做吗?还有更好的方法吗?
答案 0 :(得分:0)
如果CruiseControl使用msbuild.exe编译您的解决方案并且您希望使用特定版本的MsBuild ToolSet,请查看msbuild.exe / toolsversion(/ tv)开关,该开关将覆盖任何项目特定的版本设置在.csproj文件中(例如<Project ToolsVersion="3.5" ...
)