Visual studio 2008 安装用于远程调试的MS调试DLL

Visual studio 2008 安装用于远程调试的MS调试DLL,visual-studio-2008,visual-c++,dll,remote-debugging,visual-c++-installer,Visual Studio 2008,Visual C++,Dll,Remote Debugging,Visual C++ Installer,我有一个.NET应用程序,我想安装在虚拟机上进行远程调试 该应用程序使用本机VC++DLL,通过DLL链接到MFC和MSVC运行库 当我根据VM运行时,它表示DLL需要以下DLL: mfc90d.dll msvcm90d.dll msvcp90d.dll msvcr90d.dll msjava.dll 此外,它还报告以下错误: 错误:[dll path]的并排配置信息包含错误。 由于应用程序配置不正确,此应用程序无法启动。 重新安装应用程序可能会解决此问题(14

我有一个.NET应用程序,我想安装在虚拟机上进行远程调试

该应用程序使用本机VC++DLL,通过DLL链接到MFC和MSVC运行库

当我根据VM运行时,它表示DLL需要以下DLL:

mfc90d.dll    
msvcm90d.dll    
msvcp90d.dll    
msvcr90d.dll    
msjava.dll
此外,它还报告以下错误:

错误:[dll path]的并排配置信息包含错误。 由于应用程序配置不正确,此应用程序无法启动。 重新安装应用程序可能会解决此问题(14001)

我不希望为了调试它而必须在VM上安装完整的VisualStudio2008


在VM上安装所需DLL的最佳方法是什么?

调试DLL在vc\debug\u nondist子目录中提供。正确部署它们将在本文中进行解释。

在SP1更新之后,vs2008中有一个bug,其中清单版本没有更新。为了解决这个问题,我必须在远程机器上执行以下操作:

编辑Microsoft.VC90.DebugCRT.manifest 改变 version=“9.0.30729.4148” 到 version=“9.0.21022.8”

编辑Microsoft.VC90.DebugMFC.manifest

改变 version=“9.0.30729.4148” 到 version=“9.0.21022.8”

[更新]在查找此文件的参考资料时,我发现

重要提示:如果使用Visual Studio 2008 SP1执行此操作,请确保在预编译头中放入以下内容:

#定义\u绑定\u到\u当前\u VCLIBS\u版本1


可以为VC++安装调试可再发行文件。微软甚至把它们给了你。您只需避开system32目录中的文件,因为简单地将它们复制到另一台机器上是不起作用的

查看此博客:

我用博客找到了VS 2012的debug.dll,并成功地将它们复制到另一台机器上并运行了一个调试版本。请注意,MS将“debug_nondist”文件放在一个名为“MicrosoftVisualStudio11.0”的目录结构中。以下是我找到所需CRT调试DLL的完整路径:

C:\ProgramFiles(x86)\Microsoft Visual Studio 11.0\VC\redist\Debug\u NonRest\x86\Microsoft.VC110.DebugCRT


我在使用调试版本中看到的唯一好处是,我可以在开发中的计算机上保持调试模式,并快速将代码转移到另一台计算机上,以便在稍微不同的环境下进行测试。我认为在最终版本中没有充分的理由使用调试版本。

最简单的方法是将DLL复制到应用程序旁边(与可执行文件位于同一目录中)。没有更多的问题:)如果你有带SP1的VS2008,这可能是正确的答案:事实上,你的链接调试DLL、EXE在其清单中引用了版本9.0.21022.8,而不是9.0.3xxx。因此,只需从…\Microsoft Visual Studio 9.0\VC\redist\Debug\u NonRest\x86\Microsoft.VC90.DebugCRT部署msvcrt,并按上述说明编辑清单文件。