如何将 vb classes 添加到 class 库中?

How to add vb classes into the class library?

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

我哪里做错了,我应该怎么添加然后在编译中?

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

所以您可能想在您的 class 库中制作某些特定的 classes public:

Public Class MyClass
    ...
End Class

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

发生这种情况的原因有多种,因此在没有更多信息的情况下,无法确定原因,但想到的最可能的原因是:

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