小编典典

具有相同名称空间的两个不同的DLL

c#

我有两个具有相同名称空间的DLL文件,但是它们具有不同的方法和类型。如何在项目中引用两个DLL并使用它们的方法和类型?

顺便说一下,这两个DLL具有名称相同但实现不同的某些方法和类型,以及某些唯一的方法和类型。


阅读 291

收藏
2020-05-19

共1个答案

小编典典

您不需要做任何特别的事情-
只需引用它们并使用类型即可。命名空间可以跨多个程序集毫无问题地出现,因为它们并不是真正的不透明类型。命名空间只是向其包含的所有类型添加通用前缀的一种方法,允许您在不同的命名空间下使用多个具有相同名称的类型。(该框架不会将它们视为具有相同的名称,因为它会看到所有内容的“完全限定”名称-
该名称的前面带有一个别名和一个名称空间。)

在极少数情况下,您引用2个具有相同类型名称
相同名称空间的程序集(例如,同一dll的2个不同版本)-您可以使用别名来区分给定类型使用哪个程序集。所有引用的默认别名为global,但是您可以在引用任何程序集时使用别名(使用编译器开关-
或仅使用Visual Studio中的属性框)为自己的程序集指定别名,并extern alias <name>在代码文件顶部添加一个子句在哪里使用它-
您将使用以下命令从不同的程序集中访问类型<name>::MyNamespace.Type

2020-05-19