如何在一项项目中同时添加一个类库的两个不同版本的dll引用?

bct_titus 2011-06-29 12:41:36
我有一个类库项目,先后开发了两个版本。名字都叫MyLibrary.dll,命名空间也是MyLibrary开头。
这两个版本差异挺大的!先后隔了很多年,第二版本去掉了第一版本很多功能,并且增加和修改了很多功能!

我现在有一个项目,要做这个项目的二次开发,这个项目几年前是用的MyLibrary.dll的第一版本!现在要增加一些功能,但是这个功能要引用到MyLibrary第二版本中的类和功能。

请问,我现在该如何在ASP.NET项目中添加第二版本的dll?
(备注:N年前的老项目,源码已经不见了。只有dll。也就是说只有两个名字都叫MyLibrary.dll的文件,但是版本不同,里面包含的功能也不同,现在要同时用到两个版本中的不同功能)
...全文
625 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jehnjehn 2011-06-29
  • 打赏
  • 举报
回复
应该是没有办法共存的,估计你只能反编译了
小夏天~ 2011-06-29
  • 打赏
  • 举报
回复
貌似没有办法同时存在


项目中这2个引用全部添加。在后台使用时这样
try
{
//这里用旧版本
}
catch
{
//这里用新版本
}
还有就是使用的时候全名引用,带命名空间的。
md5e 2011-06-29
  • 打赏
  • 举报
回复
你可以用这个试一下
#if


参考
kk706 2011-06-29
  • 打赏
  • 举报
回复
没遇到过,等解决方案。
zhouzangood 2011-06-29
  • 打赏
  • 举报
回复
mark
weike021996 2011-06-29
  • 打赏
  • 举报
回复
新的不能改名吗,估计引用两个重名的dll你都引用不进去。
y001j 2011-06-29
  • 打赏
  • 举报
回复
这个,按觉得不是很好弄。还是写两个程序,然后每个调用其中一个dll,这两个程序用一种机制进行通信就行了。比若说用.net remoting。不过这个比较绕了,楼主可以根据这个思路自己想想。
bct_titus 2011-06-29
  • 打赏
  • 举报
回复
[Quote=引用楼主 bct_titus 的回复:]
我有一个类库项目,先后开发了两个版本。名字都叫MyLibrary.dll,命名空间也是MyLibrary开头。
这两个版本差异挺大的!先后隔了很多年,第二版本去掉了第一版本很多功能,并且增加和修改了很多功能!

我现在有一个项目,要做这个项目的二次开发,这个项目几年前是用的MyLibrary.dll的第一版本!现在要增加一些功能,但是这个功能要引用到MyLibrary第二版本中的类和功能。
……
[/Quote]


好像同时添加两个.dll引用都不行,重命名第二个版本的dll添加进去编译会报错!
未能加载文件或程序集“MyLibrary-v2”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧