从非托管代码调用.NET DLL基本上有两种情况:
- .NET DLL公开一个COM接口。在这种情况下,您可以从C ++代码中使用COM。
- .NET DLL不公开COM接口。在这种情况下,您有两种可能性(使其变得简单):
2.a. 如此处所述托管CLR:将公共语言运行库加载到进程
2.b中。编写一段托管的C 代码(另一个DLL,用C / CLI编写)来包装.NET DLL,并向非托管客户端公开“旧方式”的DLL导出。
我不特别知道Sharpbox系统,但它看起来像是纯.NET且不公开COM接口,因此2.b可能是实现此目标的最佳方法(并非那么简单…)。也许它具有您可以使用的REST
/ Web简单API。
PS:您还可以将导出添加到.NET DLL。此处描述如下:是否可以像VS C
++一样从C#DLL导出函数?但是有点怪。



