在命令行中将构建工具从 VS2010 更改为 VS2015

Posted

技术标签:

【中文标题】在命令行中将构建工具从 VS2010 更改为 VS2015【英文标题】:Change build tools from VS2010 to VS2015 in command line 【发布时间】:2016-03-10 09:04:17 【问题描述】:

我想在命令行中升级一个解决方案,以便我可以使用 VS 2015 构建该解决方案/该解决方案中的项目。但不知何故,这并不像预期的那样工作。

我在做什么

1) 从https://ssl.icu-project.org/repos/icu/icu/tags/release-56-1/下载源代码

2) 为 VS 2015 调用 vcvarsall.bat。

3) 为每个项目更改ToolsVersion

for /r "%cd%" %%a in ( *.vcxproj ) do (
    sed.exe -i "s/ToolsVersion=\"4\.0\"/ToolsVersion=\"14\.0\"/g" "%%a"
)

4) 升级方案

rem upgrade solution
devenv "allinone\allinone.sln" /Upgrade

但是,我收到这样的警告:

warning  : The build tools for Visual Studio 2010 (v100) cannot be 
  found. To build using the Visual Studio 2015 (v140) build tools, 
  either click the Project menu or right-click the solution, and then 
  select "Upgrade Solution...". Install Visual Studio 2010 (v100) to 
  build using the Visual Studio 2010 (v100) build tools.

我错过了什么?有没有办法通过命令行/批处理来完成?

【问题讨论】:

如果您只运行devenv "allinone\allinone.sln" /Upgrade 而不手动更改工具版本怎么办? devenv /upgrade 的输出是什么? 【参考方案1】:

你必须添加这个:

  <PropertyGroup><PlatformToolset>v140</PlatformToolset><PropertyGroup>

来源:使用vs2015升级项目并检查差异

您更改的 ToolsVersion 是指我认为的 msbuild。 PlatformToolset 改变了编译工具链。

【讨论】:

【参考方案2】:

在 Visual Studio 2015 环境中,右键单击解决方案资源管理器视图中的解决方案,然后选择“重新定位解决方案”。

【讨论】:

以上是关于在命令行中将构建工具从 VS2010 更改为 VS2015的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 MSBuild 构建具有 VS2010 配置的 VS2015 解决方案?

MS VS 2010:将语言设置从 de 更改为 en

MS VS 2010:将语言设置从 de 更改为 en

从 python 调试 VS2010 中的 c++ dll

在 VS 2010 中将控制台应用程序转换为 WPF 应用程序时遇到问题

使用 VS2017 安装程序项目从命令行运行 vs2017 DevEnv