【发布时间】:2016-05-19 06:38:17
【问题描述】:
在我的解决方案中,我有几个使用 Log4Net(1.2 和 2.5)的项目。
然后我有一个项目,我在其中进行所有单元测试(其他项目的)。所以我处于一种情况,根据我的测试/模拟,我需要 Log4Net 1.2 或 2.5。
我读到您可以在应用程序中支持单个程序集的不同版本(使用代码库等),但是甚至可以在项目中支持单个程序集的不同版本吗?如果有,怎么做?
编辑:
这是一个显示我的问题的小项目(2 个类、2 个方法、2 个构造函数):
https://srv-file1.gofile.io/download/EQFdOs/212.76.254.142/Log4NetMulti.zip
(我希望链接有效)
【问题讨论】:
-
当你读到你可以在应用程序中支持单个程序集的不同版本(使用代码库等)时,你读到了什么?
-
我怀疑他们会定义相同的命名空间两次。
-
@AUsr19532 - 您对此有何看法?多个程序集具有存在于同一命名空间中的类型是完全正常的。
-
编译器如何知道是否使用一个版本或另一个版本的 Samplenamespace.lib.somthing?
-
@AUsr19532 - 您可以使用别名,如 Pikoh 的回答所示,如果它们具有完全相同的 类型,但我的观点是,程序集拥有(不同) 类型在相同的命名空间中。参见例如System.Uri(来自系统程序集)和System.Attribute(来自 mscorlib 程序集)
标签: c# .net assemblies