【发布时间】:2010-08-24 13:43:00
【问题描述】:
我刚刚收到一条有点意外的错误消息:
错误消息:无法加载文件或 程序集“删除报告内容”或 它的依赖项之一。位于 程序集的清单定义确实 与程序集引用不匹配。 (HRESULT 异常:0x80131040)
我有一个 ASP.NET 网站,其中包含 abotu 10 个项目,这些项目被编译成 DLLS 和 bin 目录。 ReportingContents 就是这些项目之一。过去,我成功地将新版本的文件(dll、pdb 和 xml)复制到 bin 目录并回收了应用程序池,它只是自行获取新版本。这一次我想“我不应该在网站上有调试版本”,所以我构建为发布版本,只是复制了 dll 和 xml 文件,并要求我们的部署人员删除 pdb。
当我被告知一切都完成时,我尝试访问该站点并收到上述错误消息。
令我惊讶的是它提到的程序集是“删除报告内容”,我不知道“删除”可能来自那里。
我不确定可能出了什么问题。所以我希望你能提供帮助:
我的选择是:
1) 我应该使用调试版本,因为它已经存在。 2) 我的部署人员未能删除不再相关的 pdb。 3) 应用程序池回收没有正确刷新代码,它期待旧的 dll 并获得新的 4) 其他地方出现了本不应该发生的问题。
非常感谢任何想法或建议...我需要部署此代码并且在我第一次知道出了什么问题之前不敢再这样做...
值得一提的是,我只能通过其他人访问现场环境,因此我自己无法轻松检查那里的任何内容。
如果它在这里有用的话是附带的堆栈跟踪:
Error Target: System.Reflection.Assembly _nLoad(System.Reflection.AssemblyName, System.String, System.Security.Policy.Evidence, System.Reflection.Assembly, System.Threading.StackCrawlMark ByRef, Boolean, Boolean)
Stack Trace:
at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
at System.Reflection.Assembly.Load(String assemblyString)
at System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective)
【问题讨论】:
标签: asp.net