【发布时间】:2015-06-15 04:59:42
【问题描述】:
我有一个使用 C++/CLI 项目的代码库,该项目通过瘦包装类将 C++ 类公开给 CLR。比如……
C++ 项目中的 C++ 代码
class Foo {
public Foo(bool wat) { /* do the things */ }
};
混合模式程序集中的 C++/CLI 代码(C++/CLI 项目)
public ref class ManagedFoo {
Foo * foo;
public:
ManagedFoo (bool wat) { foo = new Foo(wat); }
!ManagedFoo () { delete foo; }
~ManagedFoo () { this->!ManagedFoo (); }
};
据我所知,混合模式程序集几乎只能在 Windows .NET 上运行。我希望我不需要重构组件并使用P/Invoke,这将为我提供跨平台支持。
有谁知道 .NET Core 是否支持混合模式程序集?欢迎其他想法。
【问题讨论】:
-
不,CoreCLR 不支持模块初始化器。这也没有任何意义,C++/CLI 编译器仅适用于 Windows,它不是开源的。
标签: c++ .net c++-cli .net-core mixed-mode