在同一个项中引用同一类库的多个版本
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>
以上是关于在同一个项中引用同一类库的多个版本的主要内容,如果未能解决你的问题,请参考以下文章
解决未能加载文件或程序集“Newtonsoft.Json ...."或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)(代码片段
在类库项目中添加 WCF 服务引用,并在使用该类库的网站中添加相同的 WCF 引用。