无法加载文件或程序集或其依赖项之一
我有另一个这样的“无法加载文件或程序集或其依赖关系”的问题。
其他信息:无法加载文件或程序集'Microsoft.Practices.Unity,Version = 1.2.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其某个依赖项。 定位的程序集清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)
我不知道是什么导致了这个问题,或者我怎么能够调试它来找到原因。
我在我的解决方案目录.csproj文件以及我拥有Unity的每个位置都进行了搜索:
Reference Include =“Microsoft.Practices.Unity,Version = 2.0.414.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35,processorArchitecture = MSIL”
在我的任何项目中都找不到任何引用1.2.0.0的引用。
任何想法我应该如何解决这个问题?
我也希望提示如何调试这样的问题。
检查是否引用了一个反过来引用旧版本统一的程序集。 例如,假设您有一个叫做ServiceLocator.dll
的程序集,它需要一个旧版本的Unity程序集,现在当您引用ServiceLocator
您应该提供旧版本的Unity,并且这会导致问题。
可能是所有项目构建其组件的输出文件夹,具有旧版本的统一性。
您可以使用FusLogVw找出谁正在加载旧程序集,只需定义日志路径并运行解决方案,然后检查(在FusLogvw中)Unity程序集加载的第一行,双击它并看到调用大会,并在这里你走。
打开IIS管理器
选择应用程序池
然后选择您正在使用的池
进入高级设置(在右侧)
将启用32位应用程序的标志更改为true。
对我而言,其他解决方案都没有效果(包括清洁/重建战略)。 我发现另一个解决方法是关闭并重新打开Visual Studio 。
我想这迫使Visual Studio重新加载解决方案和所有项目,重新检查过程中的依赖关系。
链接地址: http://www.djcxy.com/p/56935.html上一篇: Could not load file or assembly or one of its dependencies
下一篇: is there a way to eager load polymorphic association's associations?