是否可以从vb.net dll中的dll导入c#类
本文关键字:dll 中的 导入 net vb 是否 | 更新日期: 2023-09-27 18:24:54
- IDE:VS2010
- Framework.net:4.0
我在Visual Studio 2010下创建了一个带有几个公共类的c#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未知或没有公共成员。
谢谢。
我认为你应该重写你的导入
导入MyCSharpNamespace
没有"MyCSharpDll"部件
你问:"我在Visual Studio 2010下创建了一个带有几个公共类的c#dll项目,我想在另一个dll项目中使用它的类,但它是用vb.net编写的。"
是的,你可以做到。
只需添加到DLL引用中,就可以了!
假设有问题的dll是CLS兼容的,并且是根据相同的运行时版本编译的,那么您应该能够毫无问题地使用它。
如果其中一个(或两个)条件都不满足,您将无法使用导入的DLL。
确保Import
指令使用程序集元数据中定义的名称空间-查看C#项目属性以查看默认名称空间是什么,这就是您需要导入的名称空间。
您需要添加对C#dll的引用。
http://msdn.microsoft.com/en-us/library/wkze6zky%28v=vs.80%29.aspx
现在,您可以从VB.NET:实例化一个C#类
Dim cClass = New MyCSharpNamespace.MyCSharpClass()