2

我们有使用 MVC3 的 Web 应用程序,它们都与 HtmlHelper Extensions 共享一个库。

有没有办法让这个必须引用 MVC 程序集的共享库也可以与 MVC4 应用程序一起使用,而无需转换现有的并且不复制共享库?

我尝试将共享库上的 MVC 引用设置为 SpecificVersion=false,但随后切换到 MVC4,MVC3 项目无法再使用它。

每当我尝试并排使用 MVC3 和 MVC4 程序集时,都会收到未处理的 win32 异常。

任何想法如何解决这个问题,或者是完整的 MVC4 还是留在 MVC3 的唯一方法?谢谢

4

1 回答 1

1

您可以在 ASP.NET MVC 4 应用程序的 web.config 中使用绑定重定向:

<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="1.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>

现在您可以在您的 ASP.NET MVC 4 应用程序中引用包含您的自定义帮助程序(这又取决于 ASP.NET MVC 3)的程序集。

于 2013-03-25T13:53:23.633 回答