无法加载文件或程序集' Microsoft.Practices.ServiceLocation'

时间:2017-07-19 16:23:32

标签: c# asp.net iis-7 nuget sitecore

运行特定页面的应用程序时,我在运行时收到此错误。我已经尝试解决这个问题几天了,并尝试了各种stackoverlow或其他类似链接的几种替代方案,但还不能使它工作。以下是我们在此设置的简要说明:

  • Asp.net解决方案由几个项目组成。几乎没有 项目适用于嵌入的又一个论坛(YAF)应用程序 在解决方案内(错误页面基于其中一个 项目)。该应用程序基于Sitecore CMS(尽管如此) 可能不是问题)在IIS7上我们有一个网站有2个 应用程序池中附带的应用程序,主要用于应用程序池 项目和一个YAF。

到目前为止我尝试了什么

在IIS7中,我点击了“应用程序池”应用程序下的“回收”。我重新启动了网站和每个应用程序。

在VS2013中,我删除了所有项目中的所有bin和obj文件夹并重建了解决方案。 我已经删除了窗口' temp'文件夹以及%nuget/local个文件夹。 我用解决方案重置了nuget包。 我已经运行了Visual Studio命令提示符gacutil -l命令,但无法找到对Microsoft.Practices.ServiceLocation的任何引用。

在解决方案树中的packages文件夹中,我找到了CommonServiceLocator.1.0CommonServiceLocator.3.0。所以我手动添加了versioin 2.0 - 没有帮助。

任何想法请在其他地方看一下,因为它现在试图解决这个问题非常令人沮丧吗?

错误消息

  

块引用   ' / forum'中的服务器错误应用。   无法加载文件或程序集' Microsoft.Practices.ServiceLocation'或其中一个依赖项。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)   大段引用   警告:装配绑定日志记录已关闭。   要启用程序集绑定失败日志记录,请将注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)设置为1。   注意:程序集绑定失败日志记录会导致一些性能损失。   要关闭此功能,请删除注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog]。   堆栈跟踪:   [FileLoadException:无法加载文件或程序集' Microsoft.Practices.ServiceLocation'或其中一个依赖项。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)]   [FileLoadException:无法加载文件或程序集' Microsoft.Practices.ServiceLocation,Version = 1.2.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个依赖项。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)]      System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName,String codeBase,Evidence assemblySecurity,RuntimeAssembly locationHint,StackCrawlMark& stackMark,IntPtr pPrivHostBinder,Boolean throwOnFileNotFound,Boolean forIntrospection,Boolean suppressSecurityChecks)+0      System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef,Evidence assemblySecurity,RuntimeAssembly reqAssembly,StackCrawlMark& stackMark,IntPtr pPrivHostBinder,Boolean throwOnFileNotFound,Boolean forIntrospection,Boolean suppressSecurityChecks)+234      System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,Evidence assemblySecurity,StackCrawlMark& stackMark,IntPtr pPrivHostBinder,Boolean forIntrospection)+108      System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString,Evidence assemblySecurity,StackCrawlMark& stackMark,Boolean forIntrospection)+25      System.Reflection.Assembly.Load(String assemblyString)+34      System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName,Boolean starDirective)+49

更新: 我在检查时唯一没有做的就是使用上面建议的论坛中的FusLogVw。我终于设法运行了这个,结果如下: 当我选择将日志绑定失败记录到磁盘时#39;选项它不会产生任何日志 它生成日志的唯一时间是“记录所有绑定到磁盘的时间”'被选中。 它生成两个文件夹,Default和NativeImage。在NativeImage文件夹下,我收到了许多日志条目,其中包含错误消息。不幸的是,由于没有关于错误部分的描述,我无法理解那里发生了什么。

关于我应该研究什么或如何阅读/理解日志条目的任何想法?我会上传到这里,但我不认为我可以。

0 个答案:

没有答案