由于Visual Studio生成的代码,C#应用程序以静默方式崩溃

时间:2015-08-18 09:57:50

标签: c# visual-studio-2013 crash crash-reports

我创建了一个我真的很喜欢部署的简单应用程序,但是每当我将应用程序安装在不属于我的另一台机器上时,应用程序就会无声地崩溃。因为没有抛出任何错误或任何通知应用程序失败。对该问题的进一步研究使我查看了Windows保存的错误日志。我跟着异常<SystemArgument>向右看了应用程序中的代码,但我不知道该怎么办,因为我做的任何更改都会在下次构建时被覆盖。这是我从错误日志中得到的:

EVENTDATA

Application: bbcg.exe
Framework Version: v4.0.30319

Description: The process was terminated due to an unhandled exception. 

异常

  

Info:System.ArgumentException Stack:位于MS.Internal.AppModel.ResourcePart.EnsureResourceLocationSet()的MS.Internal.Resources.ResourceManagerWrapper.GetStream(System.String)位于MS.Internal.AppModel.ResourcePart.GetContentTypeCore()at System.Wackows.Application.LoadComponent(System.Object,System.Uri)中的System.IO.Packaging.PackagePart.get_ContentType()位于Report_Form_Generator.App.InitializeComponent(),位于Report_Form_Generator.App.Main()

我没有想法,任何帮助都非常重要。如何避免此错误?

2 个答案:

答案 0 :(得分:0)

您可以在应用程序中实现UnhandledExceptionThreadException异常处理程序,以捕获未处理的异常并获取有关错误的更多信息:

static void Main()
{
    Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
    Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException);
    AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
}

static void Application_ThreadException(object sender, ThreadExceptionEventArgs ex)
{
    // log the exception  or do other work
}

static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs ex)
{
     // log the exception or do other work
}

答案 1 :(得分:0)

更改应用程序装配信息中的中性语言,从项目属性更改为无。