启动失败:在VS2013中构建的应用程序无法在Debug文件夹外运行

本文关键字:Debug 文件夹 应用程序 运行 失败 VS2013 构建 启动 | 更新日期: 2023-09-27 17:49:22

我在win7上使用VS2013 Pro,并且有一个在bin/x86/Debug文件夹中编译和运行良好的应用程序(带和不带调试器),但是在没有消息的情况下立即崩溃,无论是在屏幕上还是在日志中,如果复制到任何其他文件夹

换句话说,如果exe的完整路径在编译后以任何方式改变了结构,它就会停止工作。路径中文件夹的名称可以改变,但不能改变结构。

我知道这听起来像是某种相对路径的东西,也许它是,但我一直没有成功地发现它在寻找什么。

关于正在发生的事情的一个奇怪的线索可能是这样的;如果我右键单击无法运行的文件夹中的exe,然后选择"故障排除兼容性",然后选择"尝试推荐设置",然后选择"启动程序……"’,运行正常。

应用程序本身是。net Framework 4 Winforms,引用了一些系统。* DLL和由同一个VS2013解决方案中的c++项目生成的DLL(编译时没有错误)。

那么,这里发生了什么?

启动失败:在VS2013中构建的应用程序无法在Debug文件夹外运行

检查应用程序引用的程序集,如果它们不是默认的。net程序集,如SystemSystem。数据转到它们的属性(在属性窗口中),并为复制本地选项选择True

确保您已经验证了应用程序引用的所有第三方/项目程序集以及应用程序依赖项引用的程序集。

还有一件重要的事情,如果你的应用程序引用的程序集也被它的一个依赖程序集引用,请确保它们是相同的,否则在构建一个程序集时会取代另一个程序集,你的应用程序可能会因为System而崩溃。BadImageFormatExceptionSystem.IOException。在这种情况下,应用程序可能崩溃而不留下任何痕迹。