Visual Studio 2012 未能检测到 Visual Studio 2008 构建工具
Posted
技术标签:
【中文标题】Visual Studio 2012 未能检测到 Visual Studio 2008 构建工具【英文标题】:Visual Studio 2012 failing to detect Visual Studio 2008 build tools 【发布时间】:2012-10-24 21:45:57 【问题描述】:我正在尝试使用 Visual Studio 2012 构建面向 .NET 3.5 的 C++ CLI 应用程序。
通过安装 Visual Studio 2008 并指定 v90 平台工具集,我已经在一台机器上完成了这项工作。
现在我在一台新机器上尝试这个,我已经安装了 Visual Studio 2008,然后是 Visual Studio 2012。
现在我得到了这个令人难以置信的令人沮丧的错误:
错误 81 错误 MSB8020:Visual Studio 2008 的构建工具 (平台工具集 = 'v90')找不到。使用 v90 构建 构建工具,单击项目菜单或右键单击 解决方案,然后选择“更新 VC++ 项目...”。安装视觉 Studio 2008 使用 Visual Studio 2008 构建 工具。 C:\程序文件 (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets 43 5 WinApiWrapper (Visual Studio 2008)
为什么 Visual Studio 2012 不能找到 Visual Studio 2008。有什么办法可以帮助它吗?
【问题讨论】:
【参考方案1】:事实证明,您还必须安装 Visual Studio 2010。
安装 Visual Studio 2010 后,Visual Studio 2012 能够检测到 Visual Studio 2008 构建工具。
这看起来很疯狂,但是你去吧。
【讨论】:
我也有类似的问题,它是使用x86模式构建的,但不是基于x64构建的,你知道(记得)还需要安装什么吗? @ST3 如果您使用 Visual C++ x64,您可以在 2010 安装时在 Visual C++ 下添加“X64 编译器和工具” 这也是让VS2015用VS2008构建老项目的关键。出于某种奇怪的原因不得不安装 VS2010。 见my answer了解这个“奇怪的原因”。【参考方案2】:我遇到了完全相同的问题,但我安装了Windows SDK 7.1(或the web installer version),它也可以工作。
我记得我也把它安装到了原来的电脑上。
请记住,您应该首先卸载任何版本的 Visual C++ 2010 可再发行组件,否则 Windows SDK setup will fail。
我知道这不是完美的解决方案,因为 Windows SDK 非常庞大,但它是另一种选择。
【讨论】:
这使我不必添加我永远不会使用但知道会以某种方式妨碍的 VS 的快速版本。谢谢! 非常感谢您指出 VC++2010 可再发行组件导致安装程序失败。这对微软来说似乎是一个巨大的骗局,但这真的是什么新鲜事吗? 在 x86 ISO 中,在 x64 系统上安装失败,结果显示“找不到 WinSDK_amd64”。 x64 ISO 版本有效,但只安装了 x64 的工具链文件。【参考方案3】:在下载任何内容之前,请尝试转到项目属性 -> 配置属性 -> 常规,然后将项目的 平台工具集 更改为 Visual Studio 2012 (v110)
【讨论】:
神奇、智能、简单!【参考方案4】:根据The build tools for Visual Studio 2008 (Platform Toolset = 'v90') cannot be found,
除了 VS 2008 中存在的 MSVC 9.0 工具链(请安装 VS 2008 SP1,否则 x64 编译器会损坏),您还需要此工具链的 MsBuild 4.0 工具集配置文件,以便 MsBuild 可以找到它。
它们在 Visual Studio 2010、C++ x86 和 x64 功能以及其自己的工具链中谨慎地呈现。 它们也存在于 WinSDK 7.1 中,但其安装程序在 x64 系统上已损坏; 您可以只安装工具集文件,直接运行 <GRMSDK_EN_DVD.iso>\Setup\vc_stdx86\vc_stdx86.msi
(尽管名称如此,但它包含适用于所有 3 个平台的工具集文件)。
【讨论】:
以上是关于Visual Studio 2012 未能检测到 Visual Studio 2008 构建工具的主要内容,如果未能解决你的问题,请参考以下文章
在 VS 2012 (C++) 中编译 Visual Studio 2010 项目:错误 LNK2038:检测到“_MSC_VER”不匹配:值“1600”与值“1700”不匹配
Visual Studio2005问题:未能正确加载包“Visual Studio Macros Package”