You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

VS2017中使用v140(2015)工具集时MSBuild命令行无法运行求助

解决VS2017中MSBuild命令行无法调用v140工具集的问题

我之前也碰到过一模一样的状况——明明在VS2017里勾选安装了v140(2015)工具集,命令行运行时却死活找不到它。下面是几个亲测有效的解决步骤:

1. 先确认v140工具集真的安装完整了

打开VS2017的安装程序,点“修改”进入组件选择界面:

  • 展开“单个组件”分类,找到“编译器、生成工具和运行时”
  • 确保勾选了「Visual C++ 2015 生成工具」(包含v140工具集),同时别忘了勾选对应版本的Windows SDK(比如项目需要的10.0.17763.0)
    安装完成后重启VS和所有命令行窗口,再试一次。

2. 用VS2017自带的vcvarsall.bat,别用VS2015的路径

你之前调用的C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat是VS2015的脚本,在VS2017环境下得用它自己的路径,还要指定工具集版本:

"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat" x86 -vcvars_ver=14.0

Professional换成你的VS版本(比如Community/Enterprise),x86可以换成x64等目标平台,-vcvars_ver=14.0就是指定用v140工具集。

3. 直接给MSBuild命令加参数指定工具集

如果不想通过vcvarsall配置环境变量,也可以在MSBuild命令里直接指定:

msbuild YourProject.vcxproj /p:PlatformToolset=v140 /p:VisualStudioVersion=15.0

VisualStudioVersion=15.0对应VS2017,这样MSBuild会自动去VS2017的安装路径里找v140工具集,不用依赖旧版VS的路径。

4. 极端情况:检查注册表路径(谨慎操作)

如果以上方法都没用,可能是注册表中v140工具集的路径指向错了。打开注册表编辑器,定位到:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSBuild\ToolsVersions\14.0
确保VCInstallDir的值是VS2017里v140工具集的实际路径,比如C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.0.25420\(版本号根据你的安装情况调整)

注意:修改注册表前一定要备份,避免误操作搞出其他问题。


内容的提问来源于stack exchange,提问作者Ludek Vodicka

火山引擎 最新活动