zoukankan      html  css  js  c++  java
  • .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>

    方法二

    用以下代码,也可以实现忽略dll版本号去加载,视乎这种做法更好,不用每个dll都写config了

            protected void Application_Start(object sender, EventArgs e)
            {
                AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
            }
    
            private Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
            {
                var assembly = Assembly.Load(args.Name.Split(',')[0].Trim());
                return assembly;
            }
  • 相关阅读:
    7、cad图纸打印
    对账
    练习10—去掉图片文字
    6、cad里面如何快速将图纸的线条全部变成黑色
    5、cad如何快速选中图纸上所有文字
    4、如何修改cad的背景色为白色
    练习九—快速修饰面部光影
    iOS alloc&init探索
    export default / export const
    Vue2.0+组件库总结
  • 原文地址:https://www.cnblogs.com/IWings/p/5960716.html
Copyright © 2011-2022 走看看