无法加载文件或程序集或其依赖项之一

我有另一个这样的“无法加载文件或程序集或其依赖关系”的问题。

其他信息:无法加载文件或程序集'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?