C#App在Visual Studio中运行但是在我构建之后它会在执行时崩溃吗?

时间:2010-09-22 23:08:17

标签: c# .net

我正在使用C#对应用程序进行编码,当我单击Visual Studio C#Express 2010中的“运行”按钮时,它运行得非常好。但是,当我转到Debug - >构建解决方案,运行.exe文件后,它显示“XXX.EXE已停止工作......”

我已经插入了断点并注释掉了我的代码块,重新构建了项目,并再次运行以尝试隔离问题,但我无法弄清楚导致这种情况的原因。它在调试模式下运行良好的事实很奇怪。

4 个答案:

答案 0 :(得分:2)

有些事情要尝试:

检查系统事件日志中的ASP.NET错误。

尝试将构建设置为Release模式并使用Run - no debugging。看看它是否崩溃了。在崩溃期间/之后观察输出和其他窗口是否有任何错误。根据这些结果,检查调试和发布配置中的解决方案和项目属性是否正确。

您还可以在外部启动调试模式,而不是将Visual Studio调试器附加到进程。但当然,如果它在启动时崩溃而不起作用。

您可以添加Debug.Assert行以查看是否可以获取其中一行。

将您的代码包装在一个大的try / catch中,并确保您的catch处理程序以某种方式为您报告或记录完整的异常。

添加日志记录是个好主意。您可以登录到文件或系统事件日志。我建议使用log4net或类似的日志记录工具。

答案 1 :(得分:1)

尝试将您的应用程序添加到防病毒白名单或排除列表中。这是McAfee和Avast的已知问题!

答案 2 :(得分:0)

我可能误解了这个问题,但如果您尝试从其.exe文件(最初位于Visual Studio #### \ Projects \ ProjectName \ bin \ x86 \ Debug \ ProjectName.exe)运行您的应用程序,您必须确保该.exe文件位于该原始目录中。你不能移动它。我遇到了与XNA项目类似的问题。如果要将.exe文件移动到其他位置,可以创建快捷方式,但不要移动它。如果您尝试从其他位置运行它,或者从该目录移动任何其他文件,您将收到与您描述的错误消息完全相同的错误消息。

另请注意,某些Visual Studio项目(如XNA项目)不会作为独立项运行。构建项目不会将它们导出为独立格式,它们只能在安装了VS和所有项目框架的计算机上运行,​​并且其.exe文件必须保留在原始位置。

答案 3 :(得分:0)

只是 遇到了这个问题,并且当我将应用程序更改为基于程序的控制台时,我会看看是否可以通过控制台窗口发现错误停止崩溃,我注释掉所有的控制台写入并将其设置回一个Windows窗体应用程序,瞧,现在运行正常。

- 我知道这是一个老帖子,但它是公开的,没有答案所以我认为这是公平的游戏。