【发布时间】:2017-04-07 17:58:51
【问题描述】:
我有一个使用 MSVC 12.0 Visual Studio 2013(C++/CLI 和 C#)编译的解决方案,但只有 Visual Studio 2015(社区)。我想按预期使用 MSVC 12.0 构建项目,因为我只需要为我的目的重建解决方案的 1 部分(共 5 个)并希望它与其他 DLL 兼容。当尝试从 MSVC 14.0 (Visual Studio 2015) 构建它时,它说:
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(57,5): error MSB8020: The build tools for v120 (Platform Toolset = 'v120') cannot be found.
当然,我从这里安装了 2013 版的 MS Build 工具(MSVC 12.0,v120):https://www.microsoft.com/en-us/download/details.aspx?id=40760 以及 Microsoft Visual C++ Redistributable 2013 包。
安装 12.0 构建工具的正确目录是 C:\Program Files (x86)\MSBuild\12.0\Bin\amd64
这看起来像是解决方案(或通常在 Visual Studio 中)的配置错误,因为它在错误的目录中查找构建工具。有谁知道我需要在 Visual Studio 中更改/添加哪些设置才能使用 MSBuild 12.0 而不是 14.0 进行编译?我不想安装 Visual Studio 2013,因为我不将它用于其他任何用途(只是希望可以根据需要在 VS 2015 中使用 VS 2013 MSBUILD)。
【问题讨论】:
-
不确定是谁投了反对票,这是一个之前在 SO 上没有回答过的问题。我只是想在没有安装 Visual Studio 2013 的情况下使用 Visual Studio 2015 构建一个 Visual Studio 2013 项目。我确信其他人在使用旧项目之前遇到过这个问题。如果那个人可以评论为什么投反对票,我可以澄清我的问题。
-
您是否尝试使用命令提示符覆盖项目和解决方案的 ToolsVersion 设置:msbuild.exe someproj.proj /tv:12.0?
-
@Leo-MSFT 是的,但我确实尝试过,因为他们现在在幕后将 MSBuild 命令嵌入到 Visual Studio 中,它似乎不起作用。
标签: c++ visual-studio-2013 visual-studio-2015 msbuild c++-cli