0
我有一个看起来像这样的简单MSBuild脚本。需要帮助将Visual Studio 2008 MSBuild脚本转换为VS2010
...
<Target Name="CompileSolution">
<Exec Command=""$(VS90COMNTOOLS)..\IDE\devenv.exe" ..\MyProject.All.sln /build" />
</Target>
...
现在我迁移到前景展望Visual Studio 2010和该命令将失败。
...
<Target Name="CompileSolution">
<Exec Command=""$(VS100COMNTOOLS)..\IDE\devenv.exe" ..\MyProject.All.sln /build" />
</Target>
...
因为变量$(VS100COMNTOOLS)
是空的。我核实,与
<Exec Command="echo $(VS100COMNTOOLS)" />
我检查了环境变量“VS100COMNTOOLS”存在。如果我修改该命令以使用devenv.exe
而不是变量的完整路径,则一切正常。但这只是一个临时解决方案,因为我的同事们的devenv路径不同。
什么是在Visual Studio 2010 MSBuild脚本中查询VS100COMNTOOLS
路径的最佳方法?
不解决这个问题,但看起来这正是我想要的,谢谢。 – 2010-10-27 05:54:07
该方法还允许如果你有一个大的构建,你可以像“/ m”开关那样可以在多个内核上运行构建。 – Iain 2010-10-27 08:24:38
@SchlaWiener实际上,当你在visual studio中执行构建 - 发生反向转换时 - visual studio将sln文件转换为MSBuild构建文件并执行相应的目标。你可以在这里阅读更详细的信息(或者在该博客的其他文章中):http://sedodream.com/2010/10/22/MSBuildExtendingTheSolutionBuild.aspx – 2010-11-03 08:31:33