如何将vb类添加到类库中?

时间:2018-05-18 09:42:00

标签: vb.net dll visual-studio-2005 class-library

我创建了一个新的VS 2005类库项目,并在其中添加了几个VB.NET类。但是,当我编译项目并将dll导入我的其他项目时,我看不到我的课程。

我做错了什么,我应该怎么做才能在编辑中添加?

2 个答案:

答案 0 :(得分:4)

可能发生这种情况的原因有很多,所以如果没有更多信息,就无法确定原因,但最让人想到的原因是:

  • 类库中的类可能不会声明为Public。如果它们被声明为Friend(如果它们是嵌套类型,则为Private),对于使用该库的其他项目,它们将不可见。这些类应该像这样声明:Public Class MyClass
  • 使用代码未指定命名空间。除非在类库中声明类的命名空间与尝试调用它的代码相同,否则消费代码需要导入类库的命名空间,或者在使用它们时需要完全限定类名。要导入命名空间,请在使用该类的代码文件的顶部添加如下所示的行:Imports MyClassLibraryNamespace(但使用您的实际命名空间)。要完全限定内联类名,您可以这样做:Dim myVariable As New MyClassLibraryNamespace.MyClass

答案 1 :(得分:2)

您是否在类库中的类上使用了显式访问修饰符(PublicFriend)?如果没有,则默认为Friend。这意味着您的类仅在该程序集(类库)中可见。

因此,您可能希望在类库中公开某些特定的类:

Public Class MyClass
    ...
End Class

编辑:正如Steven Doggart指出的那样,VB.NET类默认是公开的。因此,除非您明确使用其他访问修饰符,否则这可能不是问题。