首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用同一个库的两个不同版本

使用同一个库的两个不同版本
EN

Stack Overflow用户
提问于 2013-06-08 06:01:54
回答 2查看 2.8K关注 0票数 5

我正在开发一个小型库,它将用于多个应用程序。我想在自己的库中使用一些第三方库(例如log4Net、实体框架等)。我想我可以将DLL与我自己的库一起部署,或者使用ILMerge创建一个单独的DLL(我对ILMerge知之甚少,从未尝试过它)。

我关心的是,如果使用我的库的应用程序也使用与我将要使用的第三方库相同的库,会发生什么。例如,如果我使用log4Net版本1.2,而消费应用程序使用log4Net版本1.0,我会得到某种类型的冲突,还是只有一个版本的程序集不能加载?

ILMerge能防止这种情况发生吗?在开发具有第三方依赖关系的库时,这通常是如何解决的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-08 06:41:12

您可以使用extern alias

可能必须引用具有相同完全限定类型名称的两个版本的程序集。例如,您可能必须在同一应用程序中使用一个程序集的两个或更多版本。通过使用外部程序集别名,可以将来自每个程序集的命名空间包装在由别名命名的根级命名空间中,从而使它们能够在同一文件中使用。

这是一个Extern alias walkthrough

票数 3
EN

Stack Overflow用户

发布于 2013-06-08 06:16:43

最好的方法是和你的应用一起部署。NuGet很好地管理了这种依赖关系。除非你有什么特别的理由使用ILMerge,否则它只会让你的生活变得更加艰难--例如,你可能想要升级。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16993619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档