winform程序一启动抛出异常--调用目标发生异常

在本机测试没有问题,可一到别的电脑上就抛出异常,这是最麻烦的事,一时间还找不出什么原因,本机上还无法重现。

现在好了,终于找到一个完美解决的办法,在Program.cs类中加入如下代码

static void Main()
        {
            Application.ThreadException += new System.Threading.ThreadExceptionEventHandler(Application_ThreadException);
            Application.Run(new FrmMain());
        }

        static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
        {
            Exception ex = e.Exception;
            Collect.DX.Command.LogHelper.logger.Error(ex.InnerException.ToString());//日志记录
            //做一些极其简单的记录异常信息操作
            MessageBox.Show(ex.Message+Environment.NewLine+ex.InnerException.ToString(),"严重错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
            Application.Exit();
        }

  现在错误信息一目了然

时间: 2024-10-31 07:13:43

winform程序一启动抛出异常--调用目标发生异常的相关文章

Visual Studio 2010编译时总是提示"调用目标发生了异常"的解决

现象: 无论建立的是Win32 Console的解决方案,还是MFC的解决方案,重新打开Visual Studio 2010之后,编译时总是提示“调用的目标发生了异常” 解决: 1. 关闭Visual Studio 2. 找到.sln所在目录,用文本编辑器打开sln文件,发现有如下的定义 GlobalSection(PowerDesigner) = preSolution HasSWS = 1 EndGlobalSection     剁了这三行 3.  删除.suo文件 4.  重新打开Vis

C# winForm程序开机启动和托盘显示 (转http://blog.csdn.net/xinyue3054/article/details/6599508)

这段时间一直进行cs项目,故整理下开机自动运行.托盘.显示.隐藏. (1).在窗口上点击关闭按钮或者最小化时将托盘显示: (2).双击托盘图标显示窗口: (3).右键点击托盘图标提供三个菜单选项,“退出”.“隐藏”.“显示”: (4).程序可以设置开机启动,隐藏任务栏显示.就这四个小功能. 1.建一个WinForm程序—FormAuto,将其属性ShowInTaskbar改为false,这样程序将不会在任务栏中显示:将MaximizeBox属性设置为false,屏蔽掉最大化按钮:把StartPo

winForm程序开机启动和托盘显示,并允许一个程序运行

1.建一个WinForm程序—TestIconForm,将其属性ShowInTaskbar改为false,这样程序将不会在任务栏中显示:将MaximizeBox属性设置为false,屏蔽掉最大化按钮:把StartPosition属性改为CerternScreen,这样程序运行后,窗口将会居中显示. 2.在工具栏中的公共控件里,拖入NotifyIcon控件—NotifyIcon1,这个是程序运行任务栏右侧通知区域图标显示控件. 3.在工具栏中的菜单和工具栏里,拖入ContextMenuStrip—

winform 程序开机启动

private void Form1_Load(object sender, EventArgs e) { try { //程序运行位置 string R_startPath = Application.ExecutablePath; //对应于HKEY_LOCAL_MACHINE主键 RegistryKey R_local = Registry.LocalMachine; //开机自动运行 RegistryKey R_run = R_local.CreateSubKey("SOFTWARE\\

C# WinForm程序添加引用后调用静态方法时报“Interfaces_Helper.Global”的类型初始值设定项引发异常。---> System.NullReferenceException: 未将对象引用设置到对象的实例。

出现原因: 因为Global类初始化某个静态变量时没有成功则会抛 System.NullReferenceException 异常,具体代码: public static string connstring = System.Configuration.ConfigurationManager.ConnectionStrings["SqlConnStr"].ConnectionString; 解决办法: 在WinForm中添加一个app.config和Interfaces_Helper

web页面启动winform程序

本文实现的需求是: A.通过web页面启动winform程序: B.将页面的参数传递给winform程序: C.winform程序已经启动并正在运行时,从web页面不能重新启动winform程序, 只是当传入winform程序的参数更改时,winform上显示的数据作出相应的更新. 具体实现如下: 1.页面html代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w

安装winform程序时自动安装windows服务

项目中遇到一个需求:安装winform程序时自动安装windows服务,且windows服务运行时反过来检测winform程序是否启动.如果没有则启动. 经过一番查阅已在win10下实现并运行正常.在此记录便于以后查看 实现思路:利用打包插件VS installer 有一个自定义操作,可以指定安装完成后运行的程序集,并在程序集中默认启动一个windows服务安装类 实现步骤:1.在winform程序所在解决方案中,添加一个vs installer打包项目, vs installer的使用不再累述

C# WinForm程序中强制退出程序以及启动程序

C# WinForm程序 退出方法: Application.Exit();//强制所有消息终止,退出所有窗体,但是若有托管线程(非主线程),也无法干净地退出this.Close();//只是关闭当前窗口,若不是主窗体的话,是无法退出程序的,但是若有托管线程(非主线程),也无法干净地退出Application.ExitThread();//强制终止调用线程上的所有消息,同样面临其他线程无法正确退出的问题System.Environment.Exit(0);//这是最彻底的退出,不管什么线程都被强

WinForm程序启动控制台窗口Console

本文转载:http://blog.csdn.net/oyi319/article/details/5753311 2.WinForm程序和控制台窗口Console 如果你调试过SharpDevelop的源程序,会发现它在DEBUG模式时会出现一个控制台窗口,以显示日志信息.或许我使用的方法与其不同,不过你可以试一试,写出我们自己的调试日志代码. 首先要解决的问题是如何在Debug模式时显示Console窗口.我确定,这是一个WinForm项目,也没有改过它的输出类型.我们需要在项目的入口点使用一