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

时间:2014-08-13 12:08:00

标签: asp.net-mvc-3 asp.net-mvc-4 c#-4.0 unity-container

我尝试使用NuGet安装unity.mvc4,而安装时出现错误,因为它需要.net4.5框架,所以我卸载了它并删除了包文件并安装了unity.MVC3。

现在我尝试运行该应用程序,它在下面给出了错误。

我检查了web.config并且web.config中没有条目。我不知道它在哪里引用版本= 3.0.0。请帮我解决这个问题。我不想要团结3.0版本我想要团结2.1。

  

' /'中的服务器错误应用

     

无法加载文件或程序集' Microsoft.Practices.Unity,   Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'要么   其中一个依赖项。系统找不到指定的文件。

     

描述:执行期间发生了未处理的异常   当前的网络请求。请查看堆栈跟踪了解更多信息   有关错误的信息以及它在代码中的起源。

     

异常详细信息:System.IO.FileNotFoundException:无法加载   文件或程序集' Microsoft.Practices.Unity,Version = 3.0.0.0,   Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个   依赖。系统找不到指定的文件。

     

来源错误:

     

执行期间生成了未处理的异常   当前的网络请求。有关的来源和位置的信息   可以使用下面的异常堆栈跟踪来识别异常。

     

装配加载跟踪:以下信息可能对您有所帮助   确定汇编的原因' Microsoft.Practices.Unity,   Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'   无法加载。

     

===预绑定状态信息===日志:用户= xxxxx日志:DisplayName = Microsoft.Practices.Unity,   Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35   (完全指定)LOG:Appbase =

     

堆栈追踪:

     

[FileNotFoundException:无法加载文件或程序集   ' Microsoft.Practices.Unity,Version = 3.0.0.0,Culture = neutral,   公钥= 31bf3856ad364e35'或其中一个依赖项。该   系统找不到指定的文件。]
  Unity.Mvc4.UnityDependencyResolver.DisposeOfChildContainer()+ 0
  Unity.Mvc4.RequestLifetimeHttpModule.b__0(对象发送者,   EventArgs e)+31
  System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()   +136 System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)+69

     

版本信息:Microsoft .NET Framework版本:4.0.30319;   ASP.NET版本:4.0.30319.17929

1 个答案:

答案 0 :(得分:1)

在web.config中,在运行时部分添加以下内容:

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
    <assemblyIdentity name="Microsoft.Practices.Unity" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-3.5.0.0" newVersion="3.5.0.0" />
  </dependentAssembly>
  <dependentAssembly>
    <assemblyIdentity name="Microsoft.Practices.ServiceLocation" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-1.3.0.0" newVersion="1.3.0.0" />
  </dependentAssembly>
</assemblyBinding>