如何在同一个项中引用同一类库的多个版本?
在同一项目,有时会遇到要同时引一个类库多个版本的需求,例如大部分功能都是基于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>