我正在打开Visual Studio 2005解决方案文件并在发布和调试模式下构建它。 虽然我能够在发布模式下运行应用程序,但当我尝试运行调试模式时,我收到以下错误:
无法启动程序XXXX.exe。此应用程序无法启动,因为应用程序配置不正确。查看清单文件以查找可能的错误。重新安装应用程序可能会解决此问题。有关更多详细信息,请参阅应用程序事件日志。
当我使用依赖性walker检查.exe
时,它表示.dll
失踪后:
msvcp80D.dll
msvcr80D.dll
IESHIMS.DLL
WER.DLL
答案 0 :(得分:1)
下载并安装Microsoft Visual C ++ 2008 Redistributable Package。
答案 1 :(得分:1)
您是否尝试使用Visual Studio或其他计算机在计算机上运行Debug构建?
如果您已将程序与C ++运行时的DLL版本(MSVCP80D.DLL等)相关联,则调试运行时文件将无法在其他计算机上使用。根据Visual Studio许可,它们不包含在Visual C ++ 2005可再发行组件中,它们(调试DLL)也不是可再发行的。
如果它与Visual Studio是同一台机器,那么您可能需要修复Visual Studio安装。如果它是一台不同的机器,你就是(除非跳过一些篮球)运气不好。
答案 2 :(得分:1)
问题的原因是您已经动态链接到Microsoft运行时库。如果你已经把你的dll带到另一台机器并尝试运行它,那么如果运行时库恰好在那里(通常是因为你之前安装的程序安装了它们)那么你的程序就会运行。如果这些不存在,那么安装Visual C ++ 2008可再发行组件包(与AndreiM的答案中链接)就可以了。
对于调试版本,没有可再发行的软件包,因此(通常)它只能在具有作为开发人员工具一部分的调试库的计算机上运行。有两个选项:创建一个简单的安装程序包,它将获取这些依赖项并将它们安装在目标系统上,或者修改项目配置以使它们静态链接到运行时库(即使用'Debug Multithreaded'而不是'调试多线程Dll'运行时)。如果您已静态链接,则根本不需要运行时库。
答案 3 :(得分:0)
检查配置设置和项目属性。如果它们看起来不错,请尝试清洁解决方案并执行重建。从源代码管理重新加载文件。如果全部失败,请尝试在另一个Visual Studio实例中从头开始重建项目,然后使用新项目复制/关联文件。
VS是我所知道的最好的源编辑工具,但仍然没有完美无缺。
答案 4 :(得分:0)
由于您可以构建Release,我认为安装补丁不会有用。
这个项目是由您创建的还是更广泛的项目的一部分?要求的理由是更广泛的项目通常使用属性表来配置设置。您要链接的库是什么?您可能有任何导致问题的库/ DLL的调试版本。
如果您有任何可以验证的路径相关问题(例如,加载了错误的dll等),请从IDE中启动程序。通常从IDE中开始将始终有效,但从命令shell开始可能会有一些路径问题。