zoukankan      html  css  js  c++  java
  • C# 引用DLL版本冲突

    已解决,到官网上下载旧key版本,然后再重定向即可。

    手动引用两个版本的DLL错误的原因是我 publicKeyToken 大小写的问题(竟然没校验~~)

    但我想不明白,这样搞如果依赖一多的话,甚至那个 publicKeyToken 都不统一的话,那管理起来不是会特别麻烦吗?

    以下是原问题内容:

    工程中要用到zookeeper,他依赖一个低版本的log4net,但是我想用高版本的log4net。

    百度后发现可以使用 重定向程序集版本 来解决,但是实践后发现两个版本的 PublicKeyToken 还不一样!

    这种情况该怎么办?只能拉代码重新生成一个吗?

    再次尝试手动引用两个版本的DLL,其中一个用别名。

    app.config 中增加 dependentAssembly

      <dependentAssembly>
          <assemblyIdentity name="log4net" publicKeyToken="1b44e1d426115821" culture="neutral" />
          <codeBase version="1.2.10.0" href="DLL/log4net_1.2.10.dll" />
      </dependentAssembly>
      <dependentAssembly>
          <assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" />
          <codeBase version="2.0.8.0" href="DLL/log4net_2.0.8.0.dll" />
      </dependentAssembly>
    

    编译时候报:

    warning MSB3243: 无法解决“log4net, Version=2.0.8.0, Culture=neutral,
    PublicKeyToken=669e0ddf0bb1aa2a”与“log4net, Version=1.2.10.0,
    Culture=neutral, PublicKeyToken=1b44e1d426115821”之间的冲突。正在随意选择“log4net,
    Version=2.0.8.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a”。

    启动报:


    C# 引用DLL版本冲突 >> csharp

    这个答案描述的挺清楚的:
    http://www.goodpm.net/postreply/csharp/1010000008923000/C引用DLL版本冲突.html
  • 相关阅读:
    Thinkphp学习笔记2-
    Thinkphp学习笔记1-URL模式
    WebApi-如何实现接口加密
    微信-.NET调用JS-SDK
    微信-JSSDK .NET版
    HTML-获取/修改html页面标题
    JS-获取图片地址
    微信-js sdk invalid signature签名错误 问题解决
    C++笔试题
    单链表反转的分析及实现
  • 原文地址:https://www.cnblogs.com/scrumme/p/7135931.html
Copyright © 2011-2022 走看看