如何从C#调用本机库?

时间:2015-03-04 08:41:54

标签: c# c++ com native

通过本机代码(C ++)访问c#代码的最佳解决方案是什么?

我有C#代码,我想从本机项目调用,所以我正在考虑编写一个COM包装器,但我想知道.NET中是否有更好的选项(框架/设计模式/体系结构等)? / p>

1 个答案:

答案 0 :(得分:1)

COM互操作毫无疑问是最好的选择。它是一个已知的,支持的框架,可以实现您想要实现的目标。

然而,还有另一种选择 - 可以在已编译的.NET程序集中编辑IL代码,以将程序集中的方法标记为本机导出。有关更改的详细信息,请参阅this CodeProject article

Robert Giesecke使用简单的方法属性创建了Unmanaged Exports来简化此过程。可以找到NuGet包here