这个应用程序在我的机器上运行顺畅,但是当试图在其他机器上运行时,它根本不会出现。
搜索日志后我发现了这个
Faulting application name: Diamonds 2.1.exe, version: 2.1.1.23755, time stamp: 0x4e426777
Faulting module name: KERNELBASE.dll, version: 6.1.7600.16385, time stamp: 0x4a5bdfe0
Exception code: 0xe0434352
Fault offset: 0x000000000000aa7d
Faulting process id: 0x1ad0
Faulting application start time: 0x01cc574ef6707ed5
Faulting application path: C:\Users\Administrator.DEVELOPER\Desktop\EXE\Diamonds 2.1.exe
Faulting module path: C:\Windows\system32\KERNELBASE.dll
Report Id: 34498134-c342-11e0-8d91-6cf049ab4bd2
Application: Diamonds 2.1.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.TypeInitializationException
Stack:
at Diamonds.Program.Main(System.String[])
应用程序正常运行,除了将一些函数拆分为新的dll库之外,我没有做任何新的修改。
任何想法?
答案 0 :(得分:2)
我刚刚在我创建的Windows窗体App中遇到过此问题。显然,有很多问题可能导致这种情况。在我的情况下,您可以打开任务管理器,单击应用程序,在任务管理器中看到它打开,然后立即关闭。查看问题的唯一方法是查看事件查看器并找到错误。
第一个是依赖关系。如上所述,确保包含所有必需的.dll,并且您已安装所需的框架。
第二个 KERNELBASE.dll可能已损坏。为确保不是这种情况,您可以运行系统文件检查程序。可以在此处找到说明:http://support.microsoft.com/kb/929833
第三,是我的情况。我有一个在Program.cs的构造函数中运行的方法,这是在启动Windows窗体应用程序时首先实例化的。我在代码中遇到了一个错误在创建任何异常处理之前导致异常。为了解决这个问题,我在创建一个未处理的异常方法之后将代码移动到了一个点:
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
在我的表单构造函数中。现在程序将启动并实际抛出错误。然后,我只需要修复代码中的错误。
我希望这可以帮助你或其他任何人。
答案 1 :(得分:1)
如果其他计算机没有Microsoft .NET Framework 4,请安装http://www.microsoft.com/download/en/details.aspx?id=17718。如果它依赖于c ++程序集,你还应该检查Visual C ++ Redistributable http://www.microsoft.com/download/en/details.aspx?id=5555
答案 2 :(得分:0)
如果客户端环境(.NET,OS等版本)出现问题,您可以通过更改应用程序除了结束之外什么也不做,或者显示“hello,client”消息框来确认。