繁体   English   中英

VS2015:如何使用MSBuild 12.0进行构建?

[英]VS2015: How to build using MSBuild 12.0?

我安装了VS2015(MSBuild 14.0)和VS2013(MSBuild 12.0)。 这样做的原因是我有一个只能使用MSBuild 12.0构建的项目。 我已经在这里这里这里 我更改了项目文件以指定MSBuild 12.0,但是出现以下错误:

项目文件包含ToolsVersion =“ 12.0”。 该工具集可能是未知的或丢失的,在这种情况下,您可以通过安装适当版本的MSBuild来解决此问题,或者由于策略原因,该构建可能已被迫使用特定的ToolsVersion。 将项目视为具有ToolsVersion =“ 14.0”。 有关更多信息,请参见http://go.microsoft.com/fwlink/?LinkId=293424

我知道工具集并不缺少,它安装在这里: C:\\Program Files (x86)\\MSBuild\\12.0

我希望更改.csproj文件中的ToolsVersion=12.0会很简单。

此外,我与团队合作,因此理想情况下,我正在寻找侵入性最小的解决方案。 我宁愿不更改注册表值等。

任何帮助深表感谢。

我们无法在Visual Studio 2015中直接使用工具版本12。 MSDN说:

“从Visual Studio 2013开始,MSBuild工具集版本与Visual Studio版本号相同。MSBuild在Visual Studio中和命令行上默认为此工具集,而与项目文件中指定的工具集版本无关。此行为可以被覆盖通过使用/ ToolsVersion标志。有关更多信息,请参见覆盖ToolsVersion设置 。”

我们可以使用命令提示符覆盖“项目和解决方案的ToolsVersion设置”:

msbuild.exe someproj.proj /tv:12.0

此外,Guy Bolton King提供了Visual Studio扩展来实现它。 这是GitHub上的扩展存储库项目。

Set-toolsversion-extension,用于在构建期间临时设置环境变量MSBUILDDEFAULTTOOLSVERSION; 从与.sln文件位于同一目录中的.toolsversion文件中读取要使用的值。 psake脚本读取相同的.toolsversion文件,并将该值传递到/ tv开关。

请构建扩展项目,然后将SetToolsVersion.vsix安装到Visual Studio。

请注意 :感谢@ mbadawi23提醒您已清理解决方案,在安装扩展名后关闭了VS,然后再次打开它,还需要添加.toolsversion。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM