我一般认为每个版本的Visual Studio都绑定到不同版本的C运行时。例如:VS2005 : msvcr80.dll :: VS2008 : msvcr90.dll
我的一位同事告诉我,他的安装程序表明我们的VS2013项目依赖于 msvcr110.dll 。我们都发现这很奇怪,因为这与VS2012使用的依赖性相同。
然而,MSDN支持这一点:
Visual Studio 2013是否确实重用了2012年的运行时,或者我错过了什么?
编辑:我在原始问题中忘了提到Visual Studio 2013可再发行的运行时附带了文件 msvcr120.dll 。我的困惑来自于这个文件存在,但既没有我们的安装程序识别,也没有在MSDN文档中提到过。
编辑:在与我的同事讨论如何确定依赖关系之后,安装程序认为我们的项目依赖于 msvcr110.dll 的原因是因为它看着旧建筑。
不幸的是,这与MSDN文档中有关运行时版本的复制/粘贴错误相吻合。我将与Microsoft联系,让他们了解文档错误。再次感谢大家的帮助。
注意:即使他们确实使用了相同的运行时,我也不会假设将来的版本。我刚发现这很好奇。
答案 0 :(得分:3)
默认情况下,VS 2013 C和C ++项目将取决于msvcr120.dll
(或等效于msvcr120d.dll
的调试版本)。
但是,通过更改“平台工具集”,可以非常轻松地将依赖关系更改为msvcr110.dll
。到#34; Visual Studio 2012(v110)"如果在机器上安装了VS1012,则在项目设置中。支持返回VS 2008(v90)的较旧版本的运行时。
我认为您链接到的2013运行时的文档页面由于简单的疏忽而未更新。