在同一个项中引用同一类库的多个版本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在同一个项中引用同一类库的多个版本相关的知识,希望对你有一定的参考价值。

如何在同一个项中引用同一类库的多个版本?

在同一项目,有时会遇到要同时引一个类库多个版本的需求,例如大部分功能都是基于A 类库的1.0版本实现,现在有个特别的功能只在A类库的2.0版本才有,最好的办法是基于A库2.0版本再全部重写一下
但实际情况却是,所有功能已经很稳定了,不可能为了增加一个小功能而要全部重写,这时候就有必要同时引用A库的两个版本了,1.0和2.0版本

做法:
假设A库的文件为A.dll
1.将A库1.0文件命名为A1.dll
2.将A库2.0文件命名为A2.dll
3.在项目中同时引用A1.dll,A2.dll
4.在App.Config或Web.Config中加入以下节点,注意不同的版本指向不同的文件

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="A" publicKeyToken="450cec67a1cde3d4" culture="neutral" />
<codeBase version="1.0" href="A1.dll" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="A" publicKeyToken="450cec67a1cde3d9" culture="neutral" />
<codeBase version="2.0" href="A2.dll" />
</dependentAssembly>
</assemblyBinding>
</runtime>

 

以上是关于在同一个项中引用同一类库的多个版本的主要内容,如果未能解决你的问题,请参考以下文章

Chrome-Devtools代码片段中的多个JS库

包括来自类库的服务引用

解决未能加载文件或程序集“Newtonsoft.Json ...."或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)(代码片段

在类库项目中添加 WCF 服务引用,并在使用该类库的网站中添加相同的 WCF 引用。

(21/24) webpack实战技巧:webpack对三方类库的优化操作

Tomcat-正统的类加载器架构