我试图从 VB 6 调用 C# COM 对象,但收到错误:453,指出很难找到 DLL 的入口点。
我将 C# 中的所有模块设置为公共,并将 COM 可见性设置为 TRUE,注册了我的 .dll 文件,并且拥有可用的类型库文件,并且还调用了 P/Invoke 调用。我仍然收到错误。我在下面粘贴我的代码
VB6:
Private Declare Function DisplayCForm Lib "C:\Users\LP027077\Documents\Visual Studio 2010\Projects\COMWorld\COMWorld\bin\Debug\COMWorld.dll" ()
Private Sub Command1_Click()
DisplayCForm
End Sub
C#:
namespace COMWorld
{
[Guid("23047247-38D3-464F-A845-0D42A7ACD622")]
[ComVisible(true)]
public class COMObject
{
[DllImport("Kernel32.dll", EntryPoint = "GetConsoleWindow",SetLastError = true)]
internal static extern IntPtr GetConsoleWindow();
public void COMModule()
{
Form f1 = new Form();
f1.Text = "Hello VB6 from c# .NET";
}
}
}