发生未处理的异常(运行已安装的应用程序时)

时间:2015-01-06 09:25:33

标签: c# .net winforms installshield

我使用installshield编译一个在调试期间工作正常的应用程序,或者在使用VS编译和发布时。

当我运行已安装的应用程序时,我收到以下错误消息: exception

  

有关调用实时的详细信息,请参阅此消息的结尾   (JIT)调试而不是此对话框。

     

**************异常文本************** System.ArgumentNullException:值不能为null。参数名称:   System.IO.File.AppendAllText的路径(字符串路径,字符串内容)   在SerialPortListener.MainForm.MainForm_Load(Object sender,EventArgs   e)in   C:\用户\杰米\文件\ SerialPortListener \ SerialPortListener \ MainForm.cs:线   291在System.Windows.Forms.Form.OnLoad(EventArgs e)at   System.Windows.Forms.Form.OnCreateControl()at   System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
  在System.Windows.Forms.Control.CreateControl()at   System.Windows.Forms.Control.WmShowWindow(Message& m)at   System.Windows.Forms.Control.WndProc(Message& m)at   System.Windows.Forms.ScrollableControl.WndProc(Message& m)at   System.Windows.Forms.ContainerControl.WndProc(Message& m)at   System.Windows.Forms.Form.WmShowWindow(Message& m)at   System.Windows.Forms.Form.WndProc(Message& m)at   System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)   在System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&   m)在System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd,Int32)   msg,IntPtr wparam,IntPtr lparam)

     

**************已加载的程序集************** mscorlib       汇编版本:4.0.0.0       Win32版本:4.0.30319.18444建立者:FX451RTMGDR       CodeBase:file:/// C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll   ---------------------------------------- SerialPortListener       汇编版本:1.0.0.0       Win32版本:1.0.0.0       CodeBase:file:/// C:/ Program%20Files%20(x86)/P%26L%20Software/P%26L%20Hardware%20Helper/SerialPortListener/obj/x86/Debug/SerialPortListener.exe   ---------------------------------------- System.Windows.Forms       汇编版本:4.0.0.0       Win32版本:4.0.30319.18408建立者:FX451RTMGREL       CodeBase:file:/// C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll   ---------------------------------------- System.Drawing       汇编版本:4.0.0.0       Win32版本:4.0.30319.18408建立者:FX451RTMGREL       CodeBase:file:/// C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll   ----------------------------------------系统       汇编版本:4.0.0.0       Win32版本:4.0.30319.34238内容:FX452RTMGDR       CodeBase:file:/// C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll    - - - - - - - - - - - - - - - - - - - - 系统配置       汇编版本:4.0.0.0       Win32版本:4.0.30319.18408建立者:FX451RTMGREL       CodeBase:file:/// C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll   ---------------------------------------- System.Xml       汇编版本:4.0.0.0       Win32版本:4.0.30319.34234内容:FX452RTMGDR       CodeBase:file:/// C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll   ----------------------------------------辅助功能       汇编版本:4.0.0.0       Win32版本:4.0.30319.18408建立者:FX451RTMGREL

     

CodeBase:file:/// C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll

     

************** JIT调试**************要启用实时(JIT)调试,请使用.config文件这个应用程序或计算机   (machine.config)必须在中设置jitDebugging值   system.windows.forms部分。该应用程序也必须编译   启用调试。

     

例如:

     

       

     

启用JIT调试时,将发送任何未处理的异常   JIT调试器在计算机上注册而不是由处理   这个对话框。

我已经尝试过按照它说并启用jit调试。但这并没有奏效。我似乎无法弄清楚这个问题的原因。我在表单的关键点添加了一些代码,将行号写入文本文件,这样我就可以看到它失败的地方,但似乎错误发生在那些记录的消息之前。如果我点击“继续”,则消息会一直显示,如果我一直点击,似乎它会慢慢地通过代码,但需要多次点击相同的错误。

以下是MainForm_Load方法:

private void MainForm_Load(object sender, EventArgs e)
{
    backgroundWorker1.RunWorkerAsync(txtTerminal.Text);
    File.AppendAllText(ConfigurationManager.AppSettings["ErrorLog"],"Line:284" + Environment.NewLine);
}

1 个答案:

答案 0 :(得分:1)

您可以在MainForm_Load中的MainForm方法中生成路径。

失败,结果变为null。至少那个例外是什么......