工具集错误可能是由引用的项目引起的。您可以通过执行以下操作找到罪魁祸首:
- 将构建详细级别提高到诊断:工具 > 选项 > 项目和解决方案 > 构建和运行 > MSBuild 项目构建输出详细级别 > 诊断
- 禁用多线程构建,以便日志条目是连续的,因此更易于阅读:工具 > 选项 > 项目和解决方案 > 构建和运行 > 并行项目构建的最大数量 > 1
- 仅构建导致构建错误的单个项目:在解决方案资源管理器 > 仅项目 > 仅构建 X 中右键单击项目 X
- 构建完成后,在输出中找到错误并查看前面几行以确定导致错误的引用项目
例如,如果您正在构建项目 X,您可能会收到以下错误,显示引用的项目 FooBar.vcxproj 将工具集指定为 v110,从而导致错误:
目标“PlatformPrepareForBuild: (TargetId:114)” 来自项目“D:\ Foo\Bar\FooBar.vcxproj”(目标“PrepareForBuild”取决于它):
使用程序集“Microsoft.Build.CppTasks.Common, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03d5f8f12d50a3a”中的“VCMessage”任务。
任务“VCMessage”(TaskId:63)
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\x64\Microsoft.Cpp.x64.Targets(514,5): 错误 MSB8008: 指定的平台工具集 (v110) 未安装或无效. 请确保选择了受支持的 PlatformToolset 值。
解决问题后,请务必将构建输出详细程度恢复为正常,并恢复对并行项目构建数量的任何更改。