导出C#dll的入口点-是否有类似u declspec(dllexport)的东西?

导出C#dll的入口点-是否有类似u declspec(dllexport)的东西?,c#,C#,我有一个C#.dll,它与大型外部程序的API接口 该程序在dll中需要一个入口点函数,其形式如下: extern void entrypoint( char * a, int * b, int c); 它找不到这个并抱怨 my dll的原始/默认入口点仅为: public static void Main(string[] args) 我试过创建一个函数,比如 public static void entrypoint(char a, int b, int c) 但显然不是那么简单。我已

我有一个C#.dll,它与大型外部程序的API接口

该程序在dll中需要一个入口点函数,其形式如下:

extern void entrypoint(
char * a,
int * b,
int c);
它找不到这个并抱怨

my dll的原始/默认入口点仅为:

public static void Main(string[] args)
我试过创建一个函数,比如

public static void entrypoint(char a, int b, int c)

但显然不是那么简单。我已经看到了一些关于如何在C++中使用这个方法来处理这个问题,我看到了一些复杂的/复杂的解决方案,但是看起来应该有一个简单的方法来完成。有什么想法吗?

如果您的外部系统是基于COM的,那么有一些方法可以做到这一点,因为.NET是一个隐藏的COM对象


Erick

您是否尝试从c中的c#dll(程序集)调用方法?如果是的话,这是不可能的(以一种简单的方式,没有在你的c应用程序或com中托管.net)可能的重复:@HansPassant的可能重复是的,诚然与那些问题类似,但我希望在两年内有所改变,或者有一种优雅的方式来做到这一点,而不需要大量的首字母缩略词和命令行实用程序等等。@TomNysetvold:这个“答案”真的说得不多。因为这个问题有一个公认的答案而来到这里的人可能会失望。是的,最终外部系统抛出了一个错误,给出了我在C扩展中需要的方法名;我在一个示例代码中发现,我在C#扩展中真正需要的方法名是另一个名称,一旦我修复了它,它就可以工作了。@RobertHarvey,请看我的评论。结果它看起来像是一个COM或.NET系统。它只是给了我一个不恰当的错误消息,当我将方法重命名为正确的东西(在一个模糊的示例代码中找到)时,它就工作了,所以这确实是正确的答案。