我正在尝试安装Unity.Mvc4,但是收到此错误消息;
无法加载文件或程序集“Microsoft.Practices.Unity,Version = 2.1.505.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”或其中一个依赖项。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)
我的Microsoft.Practices.Unity版本是3.0.0.0。为什么我想要旧版本?
答案 0 :(得分:6)
Unity.Mvc4是一个社区项目,引用了旧版本的Unity。如果您想使用Unity.Mvc4,您可以从软件包管理器控制台获取较旧版本的Unity,您应该使用以下内容(有关详细信息,请参阅此post)
Install-Package Microsoft.Practices.Unity -Version <press tab key for autocomplete>
从个人经验来看:如果您想要或需要使用较新版本的Unity(它在版本3中对MVC和Web API有很好的支持),您应该尝试摆脱Unity.Mvc4或Unity.WebApi等软件包。它们对于较旧的项目(Unity 3不是一个选择)很有用,但对于新项目,Unity通常需要你。
答案 1 :(得分:2)
我在Unity 3中遇到了类似的问题。我没有安装另一个版本的Unity,而是更改了web.config中的程序集绑定:
<dependentAssembly>
<assemblyIdentity name="Microsoft.Practices.Unity" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.5.0.0"/>
</dependentAssembly>