我们的项目结构如下:
native.dll
:这包含了用C/C++编写的纯本机代码。此native.dll
使用*def文件暴露一些函数。
包装库(wrapper.dll 使用.NET Framework v4.0编译)
:为了使用native.dll
的功能,使用C++\CLI
编写了一个包装库(wrapper.dll)
,其中包含所有互操作性
和封送处理
代码。
应用程序(Console App v4.0)
直接使用wrapper.dll
来使用native.dll
提供的功能。
现在,这个项目需要在.Net Core中运行。这意味着我们将有一个引用了wrapper.dll
的.Net Core应用程序
,而wrapper.dll
又引用了native.dll
。
我知道这不会直接起作用。但问题是.Net Core(CoreCLR)是否支持C++\CLI(clr\oldsyntax)运行时环境?
如果不支持,那么这个应用程序可能的解决方案是什么?