Visual Studio 2013,错误 MSB8020:找不到 Visual Studio 2010 的生成工具
Visual Studio 2013, error MSB8020: The build tools for Visual Studio 2010 cannot be found
一开始我想指出,我花了一些时间研究这个问题,并为类似的问题提出了解决方案,比如这个问题对我没有帮助。
问题背景
我需要将Firebreath插件项目(我以前没有做过(从PC_1迁移到PC_2。
据我所知,该项目是在Visual Studio 2010上PC_1开始的,后来转移到Visual Studio2013Pro。有一个解决方案由 19 个项目组成。我有一个指令说,为了获得插件安装程序,我应该首先构建project_x,然后构建project_y_WiXInstall。这两个步骤在此计算机上没有任何问题。
然后是PC_2在我开始工作之前就安装了Visual Studio 2015 Community。我已经删除了它,安装了Visual Studio 2013 Pro(版本12.0.21005.1 REL - 与PC_1完全相同(,移动了所有需要的文件,我正在尝试摆脱所有编译错误。到目前为止,我发现我必须安装 Cmake 2.8、Windows Driver Toolkit 7.1 并手动覆盖不正确的 VCTargetsPath MSBuild 变量
问题描述
目前,当我尝试在新机器上编译项目时,出现这两个错误(这是一个图像链接,因为我无法在此帐户上嵌入图像(。我不确定第一个错误消息是怎么回事,因为它看起来不完整并且文件 CUSTOMBUILD 不存在,但我并没有被它打扰太多,因为我修复的上一个编译错误也有类似的"工件"作为第一个错误,它在修复第二个错误后消失了。
第二条错误消息的涵盖部分是项目路径。错误来源(Microsoft.Cpp.Platform.targets 文件,第 64 行(如下所示:
<!-- Error out if toolset does not exists in Visual Studio 2010 or 2012 -->
<VCMessage Code="MSB8020" Type="Error" Arguments="$(_CurrentPlatformToolsetShortName);$(PlatformToolset)" Condition="'$(ToolsetTargetsFound)' != 'true'" />
什么没有帮助
- 错误描述建议使用
Upgrade Solution...
选项,但是当我右键单击解决方案时,没有这样的事情 - 正如我在帖子开头发布的问题的公认答案所建议的那样,我已经检查了所有 19 个项目(包括项目ZERO_CHECK(的属性,但他们的平台工具集已经设置为
Visual Studio 2013 (v120)
。 - 我还尝试将平台工具集更改为所有项目的
inherit from parent or project defaults
。这导致它切换到Visual Studio 2010 (v100) (not installed)
,之后我右键单击项目并选择Upgrade VC++ compiler and libraries
.在此之后,平台工具集返回到Visual Studio 2013 (v120)
但它对编译错误没有帮助。 - 正如我在帖子开头发布的问题的不接受答案所暗示的那样,我尝试搜索所有
10.0
和V100
出现的所有.vcxproj文件中以替换它们,但我没有找到任何出现它们。
[编辑]
我刚刚想到了尝试从命令行使用 MSBuild 构建项目的想法。与Visual Studio中的错误相比,有更多的信息,所以也许它将有助于解决问题:https://pastebin.com/JhN3dXM3
所以你在这里缺少的是FireBreath项目是使用CMake构建的 - 构建目录的实际内容应该始终是完全临时的,并且永远不会存储在源代码管理中。要在新计算机上构建项目,您需要从头开始再次运行 prep 命令。
如果以前的维护者手动更改了构建文件和/或将其迁移到较新版本的Visual Studio而不使用cmake来执行此操作,那么他们做了一些非常丑陋的事情,所有的赌注都失败了......祝你好运。
这就是为什么所有的 firebreath 文档(我写了大部分(强烈敦促构建目录是暂时的,并且您总是在 cmake 中进行项目文件更新。
希望对您有所帮助!
- Visual Studio 2015:Extern "C" 和 "export" 关键字
- 为cl.exe(Visual Studio代码)指定命令行C++版本
- 试图在visual studio上用C++创建一个桌面应用程序
- 如何在MS Visual Studio 2019中运行QT UI
- 如何使用Visual Studio 2017在C++中为参数化对象数组使用唯一指针
- Visual Studio Code - C++ Debugger 無法啟動
- Visual Studio 2019:插入多个C++风格的单行注释
- Visual Studio Code "undefined reference to `WinMain@16'"
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- Visual Studio中的函数声明和函数定义问题
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- Visual Studio mkl_link_tool.exe链接错误
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 不同的Visual Studio版本中缺少.dll
- 用Visual Studio在C++中嵌入Julia
- Visual Studio 2017循环自动向量化问题
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- 尝试使用继承和模板实现CRTP.Visual Studio正在生成编译器错误
- Visual Studio在尝试读取resource.txt文件时崩溃
- Visual Studio 2017 不允许我创建 C++ 专用模板