zoukankan      html  css  js  c++  java
  • ABP 数据迁移初始化的坑

    问题1描述

    • ABP官方网站下载标准模版后,进行EF的数据迁移
    • 一直报错“Castle.Core 4.0.0.0”版本未能加载具体情况下下图 执行数据迁移时的错误

    尝试方法

        <dependentAssembly>
           <assemblyIdentity name="Castle.Core" publicKeyToken="407dd0808d44fbdc" culture="neutral"/>
           <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
        </dependentAssembly>
    
    • 简单粗暴的做法,去掉Castle.Core的引用 执行迁移命令【解决】 执行成功
      • 原因分析
        • EntityFramework层中并未直接使用Castle.Core,去掉后重新生成不报错

    学习到的经验

    • CLR加载DLL的策略
    • 配置文件管理与程序集的引用版本重定向
    • assemblyBinding节点下的配置说明
      • 配置代码
      <configuration>
            <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <probing privatePath="AuxFiles;binsubdir"/>
        <dependentAssembly>
          <assemblyIdentity name="JeffTypes" publicKeyToken="32ab4ba45e0a69a1" culture="neutral"/>
          <bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0"/>
          <codeBase version="2.0.0.0" href="http://www.wintellect.com/JeffTypes.dll"/>
        </dependentAssembly>
        <dependentAssembly>
          <assemblyIdentity name="TypeLib" publicKeyToken="1f2e74e897abbcfe" culture="neutral"/>
          <bindingRedirect oldVersion="3.0.0.0-3.5.0.0" newVersion="4.0.0.0"/>
          <publisherPolicy apply="no"/>
        </dependentAssembly>
      </assemblyBinding>
            </runtime>
      </configuration>
      
      • 第一个dependentAssembly,assemlyIdentity和bindingRedirect元素查找由控制着公钥标记32ab4ba45e0a69a1的那个组织发布的、语言文化中性的JeffTypes程序集的1.0.0.0版本时,改为定位同一个程序集的2.0.0.0版本。
      • codeBase元素  查找由控制着公钥标记32ab4ba45e0a69a1的组织发布的、语言文化为中性的JeffTypes程序集的2.0.0.0版本时,尝试在以下URL处发现它:http://www.Wintellect.com/JeffTypes.dll。虽然第2章没有特别指出,但codeBase元素也能用于弱命名程序集。在这种情况下,程序集的版本号会被忽略,而且根本就不应该在XML codeBase元素中写这个版本号。此外,codeBase所定义的URL必须引用应用程序基目录下的一个子目录。
      • 第2个dependentAssembly,assemblyIdentity和bindingRedirect元素  查找由控制着公钥标记1f2e74e897abbcfe的那个组织发布的、语言文化中性的TypeLib程序集的3.0.0.0到3.5.0.0版本时(包括3.0.0.0和3.5.0.0在内),改为定位同一个程序集的4.0.0.0版本。
      • publisherPolicy元素  如果生成TypeLib程序集的组织部署了一个发布者策略文件,CLR应该忽略该文件。
  • 相关阅读:
    腾讯其他人面经总结
    算法——(2)动态规划
    算法——(1)大数据算法
    算法总结
    今日头条其他人面经整理
    面试准备——(五)Jmeter
    我自己的面经
    JQuery实用技巧
    MVC图片验证
    10 个免费的Bootstrap Admin 主题,模板收集
  • 原文地址:https://www.cnblogs.com/fengshi1988/p/9491665.html
Copyright © 2011-2022 走看看