vcruntime140.dll vs vcruntime140d.dll

Bon*_*Bon 7 .net c# c++ dll

这两个dll vcruntime140.dllvcruntime140d.dll有什么区别?我们为什么需要它们?它们都是Microsoft Visual C++ 2015 Redistributable的一部分吗?

谷歌搜索了一段时间,但找不到任何我能理解的东西.

一些背景:我有一个C#程序可以在Windows 10机器上运行,但在Windows Vista上不起作用,看起来是因为我的Windows Vista机器上没有vcruntime140d.dll.

Jer*_*iah 12

虽然我在微软的网站上找不到任何权威,但他们总是发送两个DLL:

  • 一个不以d- 例如:vcruntime140.dll 结尾的发行版本
  • 一个以d- 结尾的调试版本- 例如:vcruntime140d.dll

您需要使用正确的一个,因为编译器使用的库是根据项目是使用调试还是发布设置构建的.因此,如果使用发布设置进行编译,则可执行文件将使用vcruntime140.dll,如果使用调试设置进行编译,则可执行文件将使用vcruntime140d.dll

  • 您正在寻找的链接 - [确定哪些DLL是可再发行的](https://msdn.microsoft.com/en-us/library/8kche8ah.aspx):"应用程序的调试版本和各种Visual C++调试DLL不可再发行". (2认同)