【问题标题】:Why is Combres still looking for an older version of System.Web.Mvc?为什么 Combres 仍在寻找旧版本的 System.Web.Mvc?
【发布时间】:2011-01-07 18:11:27
【问题描述】:

我将 Combres 与我的 MVC 3 RC 项目一起使用,当我将其部署到我的 Web 服务器时遇到程序集绑定错误。

System.IO.FileLoadException
无法加载文件或程序集 'System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)

<%= Html.CombresLink("commonJs") %>

我的开发机器在 GAC 中有 MVC 1 和 2 程序集,所以在那里可以正常工作。 Web 服务器在 GAC 中没有任何版本的 MVC,我正在对 MVC 3 程序集进行 bin 部署。我的项目引用了 System.Web.Mvc 的 3.0.0.0 版本,并且我的 web.config 中有以下部分:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" />
        </dependentAssembly>
        <dependentAssembly xmlns="">
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="2.0.0.0" newVersion="3.0.0.0" />
        </dependentAssembly>
    </assemblyBinding>
</runtime>

我认为本节将告诉 Combres 使用 3.0.0.0 版本。为什么我的应用程序无法解析引用?

【问题讨论】:

    标签: asp.net-mvc assemblies asp.net-mvc-3 assembly-resolution combres


    【解决方案1】:

    我认为绑定重定向不会链接 - 您在某处引用了 1.0,而您的配置告诉它加载不存在的 2.0。

    您只需要一个绑定重定向并将 oldVersion 设置为“1.0.0.0-2.0.0.0”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-04
      • 2010-12-16
      • 2018-05-15
      • 1970-01-01
      • 2019-03-28
      相关资源
      最近更新 更多