【问题标题】:How to install Visual Studio Build Tools 2010 on Visual Studio 2015 Community?如何在 Visual Studio 2015 社区上安装 Visual Studio Build Tools 2010?
【发布时间】:2016-04-25 10:16:06
【问题描述】:

我在 Visual Studio 2010 上创建了一个项目。当我尝试在 Visual Studio 2015 社区版上运行该项目时,我收到以下错误,

严重性代码描述项目文件行 错误 MSB8020 找不到 Visual Studio 2010 (Platform Toolset = 'v100') 的构建工具。要使用 v100 构建工具进行构建,请安装 Visual Studio 2010 构建工具。或者,您可以通过选择“项目”菜单或右键单击解决方案,然后选择“重新定位解决方案”来升级到当前的 Visual Studio 工具。图形 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets 55

当我尝试使用 Visual Studio 2015 构建工具构建它时,我遇到了大约 1500 多个错误。

有什么方法可以使项目工作吗?

【问题讨论】:

  • 重新安装,一切正常!
  • 您好,我也遇到了同样的问题,您解决了吗?

标签: c++ visual-studio visual-studio-2010 visual-studio-2015 vs-community-edition


【解决方案1】:

您要么安装 VS 2010 并构建您的项目,要么升级您的项目。 VS 2015 自定义安装选项将允许您安装 v120 平台工具集,但不能安装 v110v100 平台工具集。

VS 2015 的一个主要变化是 C++ 工具(即v140没有通过典型安装选项安装。请参阅Visual C++ Team Blog

请记住,Visual C++ 2010 使用 C++0x 草案标准,并且 Visual C++ 2015 符合 C++11 标准,但表达式 SFINAE 除外(部分存在于 Update 1 中),所以相当在这几年中,bit 发生了变化,包括一些重大变化。由于您要同时跳过三个主要版本(大约 10 个次要更新),因此可能会有点不知所措,尤其是在处理所有新警告时。

要记住的另一件事是,Visual C++ 2010 使用 Windows 7.1 SDK,而 Visual C++ 2012 或更高版本使用 Windows 8.x SDK。那里也发生了很多变化,特别是对于 DirectX 开发。对于 Windows 桌面应用程序,为目标平台设置 _WIN32_WINNT 预处理器定义尤为重要,因为 Windows 8.x SDK 不像早期的 Windows SDK 那样默认为“最旧的支持平台”。见Using the Windows Headers

VS 2010 和 v100 工具集支持以 Windows XP 和 Windows Server 2003 为目标。v140 工具集不支持以 Windows XP / Server 2003 为目标。您必须改用 v140_xp 平台工具集。请参阅 this post 了解一些注释,因为这意味着您再次使用 Windows 7.1 SDK 而不是带有 _xp 工具集的 Windows 8.x SDK。

请参阅Breaking Changes in Visual C++ 2012Breaking Changes in Visual C++ 2013Breaking Changes in Visual C++ 2015

另请参阅 Support For C++11/14/17 Features (Modern C++)Where is the DirectX SDK?

如果您需要同时使用 VS 2010 和 VS 2015 构建代码,那么您应该创建两个项目/解决方案文件,每个文件一个。您可能还想阅读this article,了解有关编写可以使用多个 Visual C++ 工具集构建的代码的一些说明,由于 Windows SDK 的变化,这再次特别具有挑战性。

VS 2015 支持面向 Windows Vista SP2、Windows 7 SP1、Windows 8.0、Windows 8.1、Windows 10 和可选的 Windows XP SP3。它支持面向 Windows Vista RTM、Windows Vista SP1 或 Windows 7 RTM。

【讨论】:

    【解决方案2】:

    如果您无法安装 VS2010,Windows SDK for Windows 7 包含所需的编译器工具 (v100),您实际上可以跳过安装 SDK 本身并仅安装编译器工具、头文件和库。请注意,Windows SDK 中包含的编译器与 VS2010 的编译器相同,但 VS2010 SP1 的编译器更新一些。如果需要,还需要安装Microsoft Visual C++ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1。但是请注意,如果您安装这些,如果您决定安装 VS2010,以后可能会遇到问题,安装程序中存在错误,要求您严格按照顺序安装组件。另外,如果你的代码使用 MFC 或 ATL,你必须安装 VS2010,安装 Windows SDK 是不够的。

    【讨论】:

    • Windows 7.1 的 Windows SDK 也存在一些已知的安装程序错误。请务必查看 KB 2717426。
    • @ChuckWalbourn 我不确定 VS2015 的 MFC/ATL 是否可以与 v100 编译器工具一起使用。
    • 否,但如果他们升级到 VS 2015,那么他们将拥有 MFC/ATL。那是我的观点。这些天真正尝试使用 VS 2010 是一个巨大的痛苦,所有警告、旧 Express 版本的限制、Windows SDK 和 C++ 语言支持的主要差异等等。最好现在就接受升级的痛苦,因为它会随着时间的推移只会变得更糟。
    • 我同意升级编译器总是更可取的,但这并不总是可行的。我不知道 OP 的项目结构,但如果使用了 3rd 方库,则需要从供应商重建/获取 VS2015 版本,并且根据此类库的数量,使用 VS2010 可能更容易/更便宜工具。
    • 我在 VS 2013 上试过这个,但无法让它工作。成功安装 Windows SDK 7.1(这是一个主要的痛苦)后,VS 2013 找不到工具集v100 (CL.exe exited with code -1073741515)。我不得不将项目属性中的平台工具集更改为Windows7.1SDK,但随后,该项目仅适用于使用 VS 2010 的用户。
    猜你喜欢
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-01
    • 2016-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多