从本机C++调用C#,没有/ clr或COM?

tit*_*nae 7 .net c# c++ mono cross-platform

之前已经问过这个问题,但我从来没有找到一个真正令人满意的解决方案 -

我有一个用C#编写的类库,我想从遗留的本机C++应用程序中调用它.主机应用程序是真正原生的,在Windows和Linux上编译,它是一个控制台应用程序.那么我怎么能让它调用C#类库,假设在Windows上使用Microsoft .NET,在Linux上使用Mono.

我在Windows上查看了SWIG并使用COM接口包装,但是有一个标准的可识别解决方案可以跨平台工作吗?即,它是通用的,适用于Microsoft .NET和Mono,一次写入使用到处实现.

解决方案应该将完整的类接口从C#域公开到C++域.

类似的问题只关注Windows解决方案,例如 -

在不使用COM的情况下从C++调用C#方法

Ree*_*sey 5

如果你想做这个跨平台,我建议采用100%Mono方法.

Mono有一个干净的嵌入API,适用于Linux和Windows.