.net system.io.fileloadexception疑难解答

.net system.io.fileloadexception疑难解答,.net,.net,我有一个.net 3.5 WinForms应用程序,它在我的机器上运行良好,但在另一台机器上,它立即崩溃,并出现system.io.fileloadexception。不幸的是,绝对没有关于哪个文件加载失败的详细信息,所以我不知道问题到底出在哪里 我相信我知道它可能是哪一个(SQLServerCompactEdition),但在我漫无目的地搜索之前,我想知道除了使用Sysinternal中的FileMon之外,是否有一种合适的方法来找出导致fileloadexception的原因 唯一的错误消息

我有一个.net 3.5 WinForms应用程序,它在我的机器上运行良好,但在另一台机器上,它立即崩溃,并出现system.io.fileloadexception。不幸的是,绝对没有关于哪个文件加载失败的详细信息,所以我不知道问题到底出在哪里

我相信我知道它可能是哪一个(SQLServerCompactEdition),但在我漫无目的地搜索之前,我想知道除了使用Sysinternal中的FileMon之外,是否有一种合适的方法来找出导致fileloadexception的原因

唯一的错误消息是:

事件类型clr20r3、P1 myapplication.exe、P2 2.1.0.0、P3 490eca78、P4 myapplication、P5 2.1.0.0、P6 490eca78、P7 2e、P8 21、P9 system.io.fileloadexception、P10 NIL

打开


Brad Wilson提供了如果失败该怎么办的信息…

您可以尝试使
Main()
方法更健壮,以捕获(并显示)异常

通常,问题是太多的代码进入最外层的
Main()
方法。JIT必须能够完全理解
Main()
,否则任何代码都无法运行。通过使
Main()
更简单,您就有机会了。在链接的示例中,如果
MainCore()
失败:很好,我们仍然可以在
Main()
中捕获异常


这是因为JIT是在逐个方法的基础上完成的。。。i、 e.
MainCore()
在被调用之前不会进行JIT,到那时我们已经有了我们的try/catch。

抓取Microsoft调试工具SDK,并使用windbg或cordbg连接和运行您的应用程序。这至少可以给你一个问题所在的线索,如果不能找到问题所在的话。

Hook and log

我完全错过了fusion logger。它在几分钟内解决了我的问题,因为日志非常有用。FUSLOGVW.exe只需复制到机器上(不需要.net SDK),就可以通过它设置日志记录设置。魔术谢谢谢谢,我得到了与Michael相同的异常,记录器在几分钟内帮我解决了问题!