Asp.net 错误消息:无法加载文件或程序集“Delete ReportingContents”

Asp.net 错误消息:无法加载文件或程序集“Delete ReportingContents”,asp.net,Asp.net,我刚刚收到一条有点意外的错误消息: 错误消息:无法加载文件或 程序集“删除ReportingContents”或 它的一个依赖项。位于 程序集的清单定义不正确 与程序集引用不匹配。 来自HRESULT的异常:0x8013100 我有一个ASP.NET网站,有10个项目组成,它们被编译成DLL和bin目录。ReportingContents就是这些项目之一。在过去,我成功地将新版本的dll、pdb和xml文件复制到bin目录中,并回收了应用程序池,而它只是自己选择了新版本。这次我认为我不应该在站点

我刚刚收到一条有点意外的错误消息:

错误消息:无法加载文件或 程序集“删除ReportingContents”或 它的一个依赖项。位于 程序集的清单定义不正确 与程序集引用不匹配。 来自HRESULT的异常:0x8013100

我有一个ASP.NET网站,有10个项目组成,它们被编译成DLL和bin目录。ReportingContents就是这些项目之一。在过去,我成功地将新版本的dll、pdb和xml文件复制到bin目录中,并回收了应用程序池,而它只是自己选择了新版本。这次我认为我不应该在站点上安装调试版本,所以我构建了一个发布版,只是复制了dll和xml文件,并要求我们的部署人员删除pdb

当我被告知一切都已完成时,我试图访问该网站,并收到上述错误消息

令我惊讶的是,它提到的程序集是Delete ReportingContents,我不知道删除的内容可能来自哪里

我不确定出了什么问题。所以我希望你能帮助我:

我的选择是:

1我应该使用调试版本,因为它已经存在了。 2我的部署人员未能删除不再相关的pdb。 3应用程序池回收未正确刷新代码,它希望使用旧dll并获取新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)

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