我有一个在大多数机器上运行的标准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()调用失败,所以我无法捕获错误。我该如何判断问题是什么?
答案 0 :(得分:8)
例外是TypeInitializationException
。当为类型执行初始化代码生成异常时抛出此异常。基本上是静态构造函数或静态字段的初始化。初始化的某些部分是抛出异常,导致TypeInitializationException
异常信息本身将通过TypeName
属性说明哪种类型导致了这种情况。
很难确定导致此问题的原因。找出最快捷的方法是在调试器下启动该进程,并将其设置为在任何抛出的异常上中断。那应该立即引导你找到根本原因。
答案 1 :(得分:8)
有趣的部分如下:System.TypeInitializationException
这意味着main方法中使用的其中一种类型无法初始化。通常静态constructor
抛出一个异常,它由初始化程序捕获,然后作为System.TypeInitializationException
的内部异常重新抛出。在main方法中捕获异常并显示其内部异常或使用调试器。