2013-09-27 28 views
0

我试图部署一个MVC4应用程序,并遇到了一个让我非常困惑的问题。斌将MVC4作为虚拟目录部署到IIS6中的MVC3网站条目无法加载程序集

我在IIS6中有一个网站条目,当前正在运行一个MVC3应用程序。我试图部署的新应用程序设置为它下面的虚拟目录。

当您浏览到它抛出这个错误的应用程序:

Could not load file or assembly 'System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

在新的应用程序bin文件夹中有这个文件:

System.Web.Helpers.dll Version 2.0.20710.0

的错误似乎表明应用程序试图加载程序集版本1.0,并获取版本2.0文件,导致它与清单不匹配一起抛出。

我不明白的是为什么它会尝试加载1.0版本的文件。但我可能是错的。

有没有人见过这个,或可以提供任何建议来解决?

回答

0

添加这些绑定重定向清除了问题。

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
</runtime> 
相关问题