这可能很幼稚,但我想从非.NET客户端调用.NET .dll库方法。我在这样声明的C ++ dll中有一个函数:
extern "C" __declspec(dllexport) int foo();
这可以很好地工作,但是现在我想在C#中具有相同的功能。假设代码是这样的:
namespace MyNamespace
{
public class MyClass
{
public int Foo()
{
// Do something
return 0;
}
}
}
我正在寻找某种方法来调用方法Foo()。我正在使用一个仅用于函数调用和.dll路径的API调用程序。为了生动地说明这一点,对C ++版本的完整调用如下所示:
~API "myDllPath.dll", "foo";
我尝试了所有带有static关键字的组合,并且在方法名称bu中包括了名称空间,但似乎没有任何效果。无效的东西:
~API "myDotnetDllPath.dll", "Foo";
~API "myDotnetDllPath.dll", "MyNamespace.MyClass.Foo";
我的下一个猜测是创建一个C ++ / CLI程序并引用我的C#代码,但我宁愿避免这种情况。可能有某种属性或其他魔术可以将Foo()方法暴露给外界吗?