我创建了一个新的VS 2005类库项目,并在其中添加了几个VB.NET类。但是,当我编译项目并将dll导入我的其他项目时,我看不到我的课程。
我做错了什么,我应该怎么做才能在编辑中添加?
答案 0 :(得分:4)
可能发生这种情况的原因有很多,所以如果没有更多信息,就无法确定原因,但最让人想到的原因是:
Public
。如果它们被声明为Friend
(如果它们是嵌套类型,则为Private
),对于使用该库的其他项目,它们将不可见。这些类应该像这样声明:Public Class MyClass
Imports MyClassLibraryNamespace
(但使用您的实际命名空间)。要完全限定内联类名,您可以这样做:Dim myVariable As New MyClassLibraryNamespace.MyClass
答案 1 :(得分:2)
您是否在类库中的类上使用了显式访问修饰符(Public
或Friend
)?如果没有,则默认为Friend
。这意味着您的类仅在该程序集(类库)中可见。
因此,您可能希望在类库中公开某些特定的类:
Public Class MyClass
...
End Class
编辑:正如Steven Doggart指出的那样,VB.NET类默认是公开的。因此,除非您明确使用其他访问修饰符,否则这可能不是问题。