在 Visual Studio 2015 年使用 v90 (VS2008) 平台工具集

Using v90 (VS2008) Platform Toolset in Visual Studio 2015

是否可以(以及如何)使用 VS2015 IDE 使用编译器、链接器、STL 和 VS2008 附带的所有其他内容构建本机 C++ 项目?

我正在尝试做的事情叫做 "C++ Native Multi-Targeting" 并且众所周知,例如VS2012 允许为 C++ 项目使用 VS2008 (v90) 工具集,通过项目属性->配置属性->常规->平台工具集=v90。通常情况下,out-of-the-box v90 将不可用,但如果您同时安装 VS2008+VS2010+VS2012 或 VS2008+win7.1sdk+VS2012,则会出现。

但到目前为止,我找不到任何关于为 C++ 项目弥合 vs2008 和 vs2015 之间更大差距的尝试报告。根据MSDN,官方似乎不支持它。但我想知道它是否仍然有效。

作为参考,平台工具集值是:

Visual Studio .NET 2002 (Platform Toolset = 'v70')
Visual Studio .NET 2003 (Platform Toolset = 'v71')
Visual Studio 2005      (Platform Toolset = 'v80')
Visual Studio 2008      (Platform Toolset = 'v90')
Visual Studio 2010      (Platform Toolset = 'v100')
Visual Studio 2012      (Platform Toolset = 'v110')
Visual Studio 2013      (Platform Toolset = 'v112')
Visual Studio 2015      (Platform Toolset = 'v114')

应该是可以的。我试过了,但 MSBuild 失败并显示以下消息:

1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(57,5):错误:缺少所需文件“” .

到目前为止我找到的唯一解决方案是在 vcxproj 文件中添加以下行:

<PropertyGroup Label="Globals">
  ...
  <TrackFileAccess>false</TrackFileAccess>
</PropertyGroup>

缺点:每次更改总是一个完整的构建