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

发布于 2025-01-06 22:57:22 字数 566 浏览 1 评论 0原文

  • 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 未知或没有公共成员。

谢谢。

  • IDE: VS2010
  • Framework.net: 4.0

I created a c# dll project under Visual Studio 2010, with several public classes, and I would like to use its classes inside another dll project, but written in vb.net.

In the vb.net dll project, I referenced the built c# dll, but impossible to import the c# classes. The namespace of the c# dll is even not recognized.

What must I do to see my c# classes?
If this is possible.

Example of class of my c# dll (namespace MyCSharpDll):

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

Example in a file of my vb.net dll:

Imports MyCSharpDll.MyCSharpNamespace

VS2010 indicates an error saying that MyCSharpDll is unknown or no public member.

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

oО清风挽发oО 2025-01-13 22:57:22

我认为你应该重写你的导入

Imports MyCSharpNamespace

而不带 'MyCSharpDll' 部分

I think you should rewrite your imports

Imports MyCSharpNamespace

without 'MyCSharpDll' part

卸妝后依然美 2025-01-13 22:57:22

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

是的,您可以做到。

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

You asked: "I created a c# dll project under Visual Studio 2010, with several public classes, and I would like to use its classes inside another dll project, but written in vb.net."

YES you can do it.

Just add to that DLL reference and that's it!

层林尽染 2025-01-13 22:57:22

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

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

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

Assuming the dll in question is CLS compliant and compiled against the same runtime version, you should be able to use it without a problem.

If either (or both) of these conditions are not met, you will not be able to use the imported DLL.

Make sure the Import directive uses the namespace as defined in the assembly metadata - look at your C# project properties to see what the default namespace is, that's what you need to import.

莫言歌 2025-01-13 22:57:22

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

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

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

Dim cClass = New MyCSharpNamespace.MyCSharpClass()

You need to add a reference to your C# dll.

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

Now you can instantiate a C# class from VB.NET:

Dim cClass = New MyCSharpNamespace.MyCSharpClass()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文