将VB.NET DLL导入C#.NET项目

将VB.NET DLL导入C#.NET项目,c#,asp.net,.net,vb.net,dll,C#,Asp.net,.net,Vb.net,Dll,我正在尝试获取一个VB.NET DLL作为aspx.cs页面上的参考 我已经将编译后的DLL及其资源添加到bin文件夹中,并添加了引用和 using my_DLL; 然后我去调用这样的函数 public string foobar = concat_function_DLL("foo" , "bar"); 但是,我在concat_function_DLL(我的DLL函数)下看到红色的sqwiggles,并显示以下消息: "The name 'concat_function_DLL' doe

我正在尝试获取一个VB.NET DLL作为aspx.cs页面上的参考

我已经将编译后的DLL及其资源添加到bin文件夹中,并添加了引用和

using my_DLL;
然后我去调用这样的函数

public string foobar = concat_function_DLL("foo" , "bar"); 
但是,我在concat_function_DLL(我的DLL函数)下看到红色的sqwiggles,并显示以下消息:

"The name 'concat_function_DLL' does not exist in the current context

我尝试过删除bin文件夹,删除引用,重新创建bin文件夹,然后重新添加引用,但它仍然不想从我的DLL中识别任何内容

从我的VB.Net网页上看,DLL将完全正常工作,因此我知道DLL不会有问题。也许我错过了什么步骤?我想我读到了.NET DLL在vb.NET和c#.NET之间是可互换的

谢谢大家!

公共字符串foobar=concat_function_DLL(“foo”、“bar”)

您正在调用一个方法,
concat\u function\u DLL
,但没有指定声明它的类型

C#不会自动将VB.NET模块中的“全局”方法放入范围。使用以下命令:

public string foobar = YourModuleName.concat_function_DLL("foo" , "bar"); 
或者,如果您使用的是C#6(Visual Studio 2015),那么您可以使用VB.NET模块并像以前一样使用它。添加以下using语句:

using static my_DLL.YourModuleName;

然后,您可以像以前一样使用该方法。

我应该补充一点,我可以打开我的_DLL.xml并从bin文件夹中完全读取它,因此DLL就在那里。。。。但如果我点击我的DLL并尝试“峰值定义”,它会说“无法导航到定义”太棒了!我只在VS2013上,但您的第一个解决方案为我做到了!我不知道我必须这样做:MyDLL.StringTools.concat_fuction_DLL(“foo”,“bar”);非常感谢!