如何确定一个模糊c错误所指的文件

本文关键字:错误 文件 模糊 一个 何确定 | 更新日期: 2023-09-27 17:57:33

错误

错误如下(只是稍微混淆了一下):

Could not load file or assembly 'Assembly.Name' or one of its dependencies. The system cannot find the file specified.

生成此错误的环境是我继承的asp.net webforms应用程序,并且有问题的"程序集"当前是从App_Code目录中的原始代码自动生成的。

我尝试过的

  1. 我已验证程序集是否存在并且可查找。webforms应用程序中的大多数页面都使用这个特定的程序集,它们运行良好,但有一个特定的页面会引发错误。

  2. 我已经验证了有问题的程序集在using语句中的声明是否正确,就像在其他(工作)页面中一样。

  3. 我已经检查了错误堆栈跟踪,它完全由System.Web库调用组成,非常没有帮助。

    就其价值而言,堆栈跟踪以开头

    Stack trace: at System.Web.UI.TemplateParser.ProcessException(Exception ex)
    
  4. 我已经打开了页面跟踪,但错误发生在执行的早期,页面无法呈现跟踪。

  5. 我已经检查了错误消息中提到的代码文件和行号,两者都不存在。

问题

有什么技巧可以找出系统找不到的"指定文件"吗?程序集相当大,我很惊讶系统不愿意告诉我它找不到哪个"指定"文件!

如何确定一个模糊c错误所指的文件

  1. 您可以尝试通过编辑注册表来启用Fusion日志,如下所述:如何在.NET 中启用程序集绑定失败日志(Fusion)

  2. 您可以尝试从SysInternal套件运行Process Monitor(在此处下载http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx)并监视进程在访问"Assembly.Name"后尝试加载的dll