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

4

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

我想做的是称为“C ++本机多目标”的事情,例如VS2012允许通过Project Properties-> Configuration Properties-> General-> Platform Toolset = v90来使用VS2008(v90)工具集,用于C++项目。通常,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')

不仅可能,而且必须这样做,如果您需要构建与CLR v2.0兼容的C++/CLI程序集。出了什么问题?或者您甚至还没有尝试过吗? - Hans Passant
还没有尝试过,想先问问别人。 - V-R
很遗憾,没有“官方”的方法只安装旧的工具集而不安装整个旧版VS设置。顺便说一下,我非常担心在新版本上安装旧版本,因为我觉得旧的设置不是那么“干净”;) - Luke
我希望有一天,通过某种虚拟机技术,无论是远程还是本地,所有类型的设置都可以通过1次点击轻松获得。容器化周围有许多有前途的发展... 至于旧版VS不够干净的说法,那是个有趣的想法。虽然我认识到新版VS变得更好了,但它也变得更大更复杂了。我认为许多经过验证的旧软件版本比最新版本更尊重、谦虚和良性。除了遥测之外,对最新的VS没有什么可挑剔的。 - V-R
1个回答

2

这是可能的。我已经尝试过,但是 MSBuild 失败并显示以下消息:

1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.Targets(57,5): error : 缺少所需文件 ""。

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

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

缺点:每次更改都需要进行完整的构建


1
Visual Studio 6.0、Visual Studio .NET 2003、Visual Studio 2008和Visual Studio 2015。 SDK:仅限与Visual Studios一起提供的SDK。目前还在寻找一种解决方案,可以在不关闭文件跟踪器的情况下使其正常工作(我认为只要旁边安装了Visual Studio 2008,这通常应该可以直接使用)。 - pruf
1
关于这个主题的新闻:Windows SDK 7.1已经手动安装在Visual Studio 2015之前(这是我第一次评论中遗漏的)。没有Windows SDK7.1,甚至无法选择Visual Studio 2008(v90)工具。 - pruf
感谢@pruf。所以我最好的选择是安装Visual Studio 2008,Windows SDK 7.1,然后再安装Visual Studio 2015(虽然预计会出现TrackFileAccess问题)。一旦我得到第二个工作站,我就会这样做,我可以安全地将其丢弃。如果您已经有了设置,请检查是否可以在使用v90/vs2008工具集的C++项目中完全使用Code Maps。这实际上是我想创建这种设置的主要原因。 - V-R
2
@V-R:最新消息是,Visual Studio 2010需要与Visual Studio 2008和Visual Studio 2015并存安装。真遗憾!看起来人们需要安装所有的Visual Studios才能使用特定的工具链进行编译。Code Maps测试也无法进行。 - pruf
本机多目标平台工具集安装程序:http://daffodil.codeplex.com/ "Visual Studio 2012/2013/2015。 只要安装了VS 2010,Daffodil就可以在VS 2012及更高版本中正常运行。" - V-R
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接