【问题标题】:"The located assembly's manifest definition does not match the assembly reference" on nuget packagenuget 包上的“找到的程序集的清单定义与程序集引用不匹配”
【发布时间】:2013-10-08 16:22:38
【问题描述】:

所以我一直在 System.Web.Optimization 包上遇到此错误

无法加载文件或程序集“System.Web.Optimization”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)

【问题讨论】:

    标签: asp.net nuget asp.net-optimization web-optimization


    【解决方案1】:

    经过多次尝试,我终于找到了解决方案。 关键在于程序集负载跟踪。

    LOG: Redirect found in application configuration file: 1.0.0.0 redirected to 1.1.0.0.
    

    以下是我为解决此问题而采取的步骤。可能可以跳过其中一些,但这对我有用:

    • 卸载 nuget 包 Microsoft.AspNet.WebOptimization.WebForms

    • 删除 bin 文件夹

    • 打开 web.config 并找到重定向。

    它看起来像这样:

    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
      </dependentAssembly>
    </assemblyBinding>
    
    • 我从 web.config 中删除了整个 assemblyBinding 部分。

    • 最后重新安装Microsoft.AspNet.WebOptimization.WebForms 打包并重建。

    我不知道这部分来自 web.config 中的何处,但删除它后一切似乎又可以正常工作了。

    【讨论】:

      猜你喜欢
      • 2011-08-20
      • 2016-09-21
      • 1970-01-01
      • 1970-01-01
      • 2010-09-10
      相关资源
      最近更新 更多