想在C#中引用vb6写的一个dll文件,如下写了DllImport,但不知道为什么会出现找不到入口的错误。详细如下:
1)My.dll(Vb6的dll)说明:
My.dll中有一个Encrypt.cls,其中有一个方法
Public Function EncryptCode(ByVal str As String, ByVal key As String) As String
encryptcode = str & key
end function
这个my.dll是成功编译后生成的。2)在C#中声明如下:
引用了System.Runtime.InteropServices;
[DllImport(@"My.dll", EntryPoint = "EncryptCode")]
public static extern string EncryptCode(string m_source, string m_key);调用:
string s = EncryptCode("aaa","bbb");
错误:
调用时报错误:无法在 DLL“My.dll”中找到名为“EncryptCode”的入口点。"这是为什么呢???
1)My.dll(Vb6的dll)说明:
My.dll中有一个Encrypt.cls,其中有一个方法
Public Function EncryptCode(ByVal str As String, ByVal key As String) As String
encryptcode = str & key
end function
这个my.dll是成功编译后生成的。2)在C#中声明如下:
引用了System.Runtime.InteropServices;
[DllImport(@"My.dll", EntryPoint = "EncryptCode")]
public static extern string EncryptCode(string m_source, string m_key);调用:
string s = EncryptCode("aaa","bbb");
错误:
调用时报错误:无法在 DLL“My.dll”中找到名为“EncryptCode”的入口点。"这是为什么呢???
一般VC6会带那个工具的,网上也很多
用Depends看dll,或者用UltraEdit看lib文件都能看到EntryPoint的值