无法启动:VS2013内置的App无法在Debug文件夹之外运行

时间:2014-03-10 13:46:48

标签: c# c++ visual-studio compatibility

我在Win 7上使用VS2013 Pro并且有一个应用程序可以在bin / x86 / Debug文件夹中编译和运行(包括和不包含调试器),但是在屏幕上或日志中没有消息的情况下立即崩溃,如果复制到任何其他文件夹。

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

我知道这听起来像是某种相对路径的东西,也许就是这样,但我找不到它想要的东西是不成功的。

发生了什么的奇怪线索可能是这个;如果我右键单击未运行的文件夹中的exe,并选择“排除兼容性问题”,然后选择“尝试推荐的设置”,然后选择“启动程序...”,它运行正常。

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

那么,这里发生了什么?我可以用一些想法......

1 个答案:

答案 0 :(得分:0)

检查应用程序引用的程序集,如果它们不是默认的.NET程序集,如 System System.Data ,请转到其属性(在属性窗口中) )并为 复制本地 选项选择 True

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

另一个重要的事情是,如果你的应用程序引用了一个程序集,该程序集也被其中一个依赖程序集引用,请确保它们相同,否则在构建一个程序集时将替换另一个程序集,并且由于,您的应用程序可能会崩溃System.BadImageFormatException System.IOException 。在这种情况下,应用程序可能会崩溃而不会留下任何痕迹。

我希望它会有所帮助。