首页 > 编程语言 >C# 程序兼容同一个dll的不同版本

C# 程序兼容同一个dll的不同版本

时间:2023-10-13 17:33:58浏览次数:45  
标签:同一个 C# 程序 兼容 版本 dll

当程序多个dll引用同一个dll的不同版本时,程序启动会报错,此时需要在启动程序集的App.config下增加以下配置

以log4为例子

<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-2.0.8.0" newVersion="2.0.8.0" />
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
</configuration>

<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.8.0" newVersion="2.0.8.0" />
</dependentAssembly>

标签:同一个,C#,程序,兼容,版本,dll
From: https://www.cnblogs.com/yuanshuo/p/17762672.html

相关文章

  • CF1439D INOI Final Contests
    先总结一些充要条件。一个人\(i\)选不到自己的\(a_i\)的充要条件为:若为左侧,则存在左侧的一个\(j\)满足\(a_k\in[j,i]\)且\(b_k=R\)的\(k\)的个数\(>i-j\),右侧同理,满足其一即可。一个方案不合法的充要条件为,若对于一个\(b_i=R\)的\(i\),\(i\)选位置时\([a_i,n]......
  • resourcemanager高可用原理
    1.背景一年前写过的一篇文章:https://blog.51cto.com/u_15327484/5046768,介绍了ResourceManager的启动流程。文章中介绍了ResourceManager的选举流程,但是行文逻辑较混乱。本文在此基础上,更清晰地介绍了resourcemanager的高可用原理,希望能够达到小白也能看懂的程度。2.Zookeeper......
  • Vue3| create-vue 脚手架工具
    create-vue是Vue官方新的脚手架工具,底层切换到了vite(下一代构建工具),为开发提供极速响应 使用 create-vue创建项目:1.前提环境条件:  已安装16.0或更高版本的Node.js(node-v)2.创建一个Vue应用:npminitvue@latest(这一指令将会安装并执行create-vue)启动项目:......
  • C# 向当前活动文本框输入文字
    #region向当前活动文本框输入文字///<summary>///向当前活动文本框输入文字///newSendMsg().SendText("你要输入的字符串");///</summary>publicclassSendMsg{[DllImport("user32.dll")]publicstaticexternIntP......
  • Codeforces Round 684 (Div. 2) B. Sum of Medians
    定义\(median\)是一个非降序数组中第\(\lceil\frac{n}{2}\rceil\)的数。数组从\(1\)开始标号。给两个数\(n\)和\(k\),并给出一个长为\(nk\)的数组\(a\)。需要分出为\(k\)个大小为\(n\)的数组,每个元素需要被严格分入一个数组中。需要让\(k\)个数组的中位数......
  • GDCPC2023 L Classic Problem
    洛谷传送门CF传送门对于一个点\(x\),若\(\existsi,u_i=x\lorv_i=x\),则称\(x\)为特殊点,否则为一般点。首先发现,对于极长的一段\([l,r]\)满足\(l\simr\)均为一般点,那么可以连边\((l,l+1),(l+1,l+2),\ldots,(r-1,r)\),然后把\([l,r]\)缩成一......
  • GienTech动态|入选软件和信息技术服务竞争力百强;参展世界计算大会、网络安全博览会
    ​ ​————GienTech动态———— 中电金信参展广东省网络安全博览会、世界计算机大会​ ​近期,中电金信跟随中国电子参展2023年广东省网络安全博览会(下简称“博览会”)和2023世界计算大会。在两大峰会上,中电金信展出了金融级数字底座“源启”、云原生分布式......
  • Loadrunner12.5-录制http://www.gw.com.cn/网页时提示“SSL身份验证失败”错误
    问题:LR产品,录制http://www.gw.com.cn/网页时提示下图错误,这是为什么呢?请在如下recordingoptions中选择正确的SSL版本,再进行录制。注:如何确定那个SSL版本是正确的呢?答:需要与网站这边进行确认,问他们网站使用的SSL版本是多少? ......
  • 在Eclipse将Java代码打包为jar用于jmeter BeanShell
    Beanshell是java的轻量级脚本,可以直接引用java代码,有下面3种方式:1、直接输入java代码2、导入java文件(或者导入class文件)3、导入jar文件现在记录第三种方式,导入jar文件第一步是先在Eclipse将Java代码打包为jar1、先准备好需要打包的代码 2、首先在Eclipse中选中需要打包......
  • 文心一言 VS 讯飞星火 VS chatgpt (112)-- 算法导论10.2 3题
    三、用go语言,用一个单链表L实现一个队列。要求操作ENQUEUE和DEQUEUE的运行时间仍为O(1)。文心一言:在Go语言中,使用单链表实现队列的操作,包括入队(ENQUEUE)和出队(DEQUEUE),并保持操作的时间复杂度为O(1),需要利用两个指针,一个指向队头,另一个指向队尾。以下是一个简单的实现:pac......