"找到的程序集的清单定义与nuget包上的程序集引用不匹配"

DJL*_*DJL 5 asp.net web-optimization nuget asp.net-optimization

所以我一直在System.Web.Optimization包上得到这个错误

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

DJL*_*DJL 16

经过多次尝试,我终于找到了解决方案.关键在于装配负载跟踪.

LOG: Redirect found in application configuration file: 1.0.0.0 redirected to 1.1.0.0.
Run Code Online (Sandbox Code Playgroud)

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

  • 卸载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>
Run Code Online (Sandbox Code Playgroud)
  • 我从web.config中删除了整个assemblyBinding部分.

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

我不知道这个部分来自web.config,但删除它后,一切似乎再次起作用.