首页 > 代码库 > .net 程序集加载,版本不匹配的解决方法

.net 程序集加载,版本不匹配的解决方法

经常有些时候,A.dll引用的是Microsoft.EntityFrameworkCore.dll version=1.0.0.0 publicKeyToken="adb9793829ddae60" 这样一个程序集,但是我们现在只有Microsoft.EntityFrameworkCore.dll version=1.0.1.0 publicKeyToken="adb9793829ddae60" 这样一个程序集,在web里面,就会报一个错误:

找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)

可以这样解决,利用程序集重定向机制

在web.config这样配置

<?xml version="1.0"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.EntityFrameworkCore" publicKeyToken="adb9793829ddae60" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.0.1.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

 

.net 程序集加载,版本不匹配的解决方法