【问题标题】:.NET Runtime 2.0 Error.NET 运行时 2.0 错误
【发布时间】:2009-08-26 15:25:46
【问题描述】:

我不断在我的测试机器上收到 .NET Runtime 2.0 错误(在事件日志中报告),当我将程序集换成具有更多调试/诊断信息(或修复)的程序集时,我倾向于得到这些错误。示例消息:

Faulting application MyApp.exe, version 1.0.0.66, stamp 4a3851fa, faulting module kernel32.dll, version 5.2.3790.4480, stamp 49c51f0a, debug? 0, fault address 0x0000bef7.

我的猜测是,即使我小心翼翼地不改变界面,以这种方式交换程序集也可能是我不应该做的事情(我应该这样做吗?)

尽管如此,这个应用程序的安装/构建过程非常繁重,并且在调试问题时重建和重新安装所有内容非常痛苦(实际上它只是不可行)。有没有办法从这些错误中获取更多有用的信息?

【问题讨论】:

    标签: .net


    【解决方案1】:

    这是由于应用程序遇到了未处理的异常。

    虽然短期内可能需要更多工作,但您可以重新设计应用程序以包含跟踪信息并使用System.Diagnostics namespace. 中提供的工具

    例如,System.Diagnostics.Trace 允许您通过配置(不更改构建)指定可用于运行时跟踪的不同侦听器类。您可以使用它来实现至少可以帮助您缩小可能导致问题的原因的功能,并且仅在您的测试机器上启用跟踪输出。

    另外,请确保您有一个干净的顶级异常处理程序。这至少可以帮助您在应用程序出现故障时发现一些堆栈跟踪信息。

    【讨论】:

      【解决方案2】:

      旧帖子,但我刚刚遇到了这个问题,并且能够通过远程调试来追踪有问题的代码,如下所述: http://www.codeproject.com/Articles/146838/Remote-debugging-with-Visual-Studio-2010#_rating

      这里有类似的问题: .NET Winforms app dies on startup

      在我的情况下,我有一个用于树视图 AfterSelect 的处理程序,它正在更改树的选择并导致另一个 AfterSelect 被调用,等等 - 结果错误:stackoverflow。这似乎不会在其他机器上发生,因此可能与框架有关。

      【讨论】:

        【解决方案3】:

        我在控制台应用程序中遇到了同样的问题;我通过从命令行启动它来解决它,在那里我可以看到错误的原因(在我的情况下,是对 DLL 的访问权限):

        Unhandled Exception: System.IO.FileLoadException: Could not load file
        or assembly 'FHVI_Common, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null' 
        or one of its dependencies. Access is denied. File name: 'FHVI_Common, Version=1.1.0.0,
        Culture=neutral, PublicKeyToken=null' ---> System.UnauthorizedAccessException:  
            Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
            at xyzCL_Process.Main()
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2010-12-10
          • 2013-06-28
          • 2018-01-24
          • 2010-09-05
          • 1970-01-01
          • 2019-08-14
          • 1970-01-01
          相关资源
          最近更新 更多