错误如下(仅略微混淆):
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
目录中的原始代码自动生成相关内容。
我已经验证了程序集 存在并且可以查找。 webforms应用程序中的大多数页面使用此特定程序集,并且它们工作正常,但是一个特定页面会引发错误。
我已经验证了有问题的程序集在using
语句中正确声明,就像在其他(工作)页面中一样。
我已经检查了错误堆栈跟踪,这非常无用,完全由System.Web
库调用组成。
对于它的价值,堆栈跟踪以:
开头Stack trace: at System.Web.UI.TemplateParser.ProcessException(Exception ex)
我已经开启了网页跟踪功能,但是在执行网页的过程中发生错误的过早发生错误。
我已检查错误消息,提及代码文件和行号,但都不存在。
是否有任何技巧可以找出"指定的文件"系统无法找到?组装相当大,我很惊讶系统不愿意具体告诉我哪个"指定"文件找不到!
答案 0 :(得分:1)
您可以尝试按照此处的说明编辑注册表来启用Fusion日志:How to enable assembly bind failure logging (Fusion) in .NET
您可以尝试从SysInternals套件运行Process Monitor(在此处下载http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx),并在访问'Assembly.Name'后立即查看进程尝试加载的dll