Winforms .Net应用程序无法启动

时间:2012-01-03 23:54:16

标签: c# .net winforms

我有一个在大多数机器上运行的标准winforms应用程序。在安装了.Net 4(完整版)的2003服务器上,它无法运行。

事件查看器显示:

Event Type: Error
Event Source:   .NET Runtime
Event Category: None
Event ID:   1026
Date:       4/01/2012
Time:       10:07:37 AM
User:       N/A
Computer:   DRACO
Description:
Application: start.exe
Framework Version: v4.0.30319

Description: The process was terminated due to an unhandled exception.
Exception 
Info: System.TypeInitializationException
Stack:
   at BootStrap.Program.Main(System.String[])

Event Type: Error
Event Source:   .NET Runtime 4.0 Error Reporting
Event Category: None
Event ID:   1000
Date:       4/01/2012
Time:       10:07:34 AM
User:       N/A
Computer:   DRACO
Description:
Faulting application start.exe, version 1.0.4386.17553, stamp 4f0384f3, faulting module     kernel32.dll, version 5.2.3790.4480, stamp 49c51f0a, debug? 0, fault address 0x0000bef7.

它在Main()调用失败,所以我无法捕获错误。我该如何判断问题是什么?

2 个答案:

答案 0 :(得分:8)

例外是TypeInitializationException。当为类型执行初始化代码生成异常时抛出此异常。基本上是静态构造函数或静态字段的初始化。初始化的某些部分是抛出异常,导致TypeInitializationException

异常信息本身将通过TypeName属性说明哪种类型导致了这种情况。

很难确定导致此问题的原因。找出最快捷的方法是在调试器下启动该进程,并将其设置为在任何抛出的异常上中断。那应该立即引导你找到根本原因。

答案 1 :(得分:8)

有趣的部分如下:System.TypeInitializationException

这意味着main方法中使用的其中一种类型无法初始化。通常静态constructor抛出一个异常,它由初始化程序捕获,然后作为System.TypeInitializationException的内部异常重新抛出。在main方法中捕获异常并显示其内部异常或使用调试器。