繁体   English   中英

是否可以在vb.net dll中从dll导入c#类?

[英]Is it possible to import c# classes from dll in a vb.net dll?

  • IDE:VS2010
  • Framework.net:4.0

我在Visual Studio 2010下创建了ac #dll项目,有几个公共类,我想在其他dll项目中使用它的类,但是用vb.net编写。

在vb.net dll项目中,我引用了构建的c#dll,但无法导入c#类。 c#dll的命名空间甚至无法识别。

我该怎么做才能看到我的c#课程? 如果这是可能的。

我的c#dll类的示例(名称空间MyCSharpDll):

namespace MyCSharpNamespace {
  public class MyCSharpClass {
    public void Test() {}
  }
}

我的vb.net dll文件中的示例:

Imports MyCSharpDll.MyCSharpNamespace

VS2010表示错误,表示MyCSharpDll未知或没有公共成员。

谢谢。

你问:“我在Visual Studio 2010下创建了ac #dll项目,有几个公共类,我想在其他dll项目中使用它的类,但是用vb.net编写。”

是的,你可以做到。

只需添加到该DLL引用即可!

假设有问题的DLL 符合CLS并针对相同的运行时版本进行编译,您应该能够毫无问题地使用它。

如果不满足这些条件中的任何一个(或两个),您将无法使用导入的DLL。

确保Import指令使用程序集元数据中定义的名称空间 - 查看C#项目属性以查看默认名称空间是什么,这是您需要导入的名称。

我认为你应该重写你的进口

导入MyCSharpNamespace

没有'MyCSharpDll'部分

您需要添加对C#dll的引用。

http://msdn.microsoft.com/en-us/library/wkze6zky%28v=vs.80%29.aspx

现在您可以从VB.NET实例化一个C#类:

Dim cClass = New MyCSharpNamespace.MyCSharpClass()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM