错误消息:无法加载文件或程序集“删除ReportingContents”

时间:2010-08-24 13:43:01

标签: asp.net

我刚收到一条有点出乎意料的错误消息:

  

错误消息:无法加载文件或   程序集'删除ReportingContents'或   其中一个依赖项。位于   程序集的清单定义   与程序集引用不匹配。   (HRESULT异常:0x80131040)

我有一个ASP.NET网站,其中包含10个项目,这些项目已编译成DLLS并位于bin目录中。 ReportingContents是这些项目之一。在过去,我已经成功地将新版本的文件(dll,pdb和xml)复制到bin目录并回收了应用程序池,它只是自己选择了新版本。这次我想“我不应该在网站上有一个调试版本”所以我构建为发布版,只是复制了dll和xml文件,并要求我们的部署人员删除pdb。

当我被告知完成后我尝试访问该网站并收到上述错误消息。

让我感到惊讶的是,它提到的程序集是“删除ReportingContents”,我不知道“删除”可能来自哪里。

我不确定会出现什么问题。所以我希望你能提供帮助:

我的选择是:

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)

1 个答案:

答案 0 :(得分:0)

回想起来,答案显而易见。不是删除我想要替换的文件,而是将它们重命名为“Delete ReportingContents”,然后复制到新文件中。当然这意味着他们被加载了,我假设抱怨文件名不正确或类似的东西。它的结果是,当我让他正确地删除它时,一切都有效。