在dll上创建了重复的命名空间

时间:2020-02-26 20:42:16

标签: vb.net namespaces visual-studio-2019 class-library

我正在VS2019(VB.NET)中创建一个类库。

在项目属性中,我使用了以下根名称空间:Customer.App.Classlibrary

当我在另一个项目中编译和使用此库时,我需要将其导入为

Import Customer.App.Classlibrary.Customer.App.Classlibrary

根名称空间已重复。...

任何建议???

1 个答案:

答案 0 :(得分:0)

与c#不同,在vb.net中,类周围不需要命名空间,而是所有vb.net代码都从根命名空间开始,而无需指定一个。因此,当您编写要像这样使用的函数

Namespace Customer.App.Classlibrary

    Public Module MyStaticCLass
        Public Sub Foo()

        End Sub
    End Module

End Namespace

名称空间Customer.App.Classlibrary已添加到根名称空间。

enter image description here

,您的命名空间将变为RootNamespace.ClassNamespace = Customer.App.Classlibrary.Customer.App.Classlibrary

你需要做

Imports Customer.App.Classlibrary.Customer.App.Classlibrary

解决方案:只需从类定义中删除名称空间

'Namespace Customer.App.Classlibrary

Public Module MyStaticCLass
    Public Sub Foo()

    End Sub
End Module

'End Namespace

导入将简单地

Imports Customer.App.Classlibrary

将根名称空间指定为Customer可能是一个更好的主意,您可以将您的类放在Namespace App.Classlibrary中,这将产生类似的效果,并且具有能够在其中分离类的附加好处。将相同的程序集集成到更精细的名称空间中。这取决于您所需的设计。