如何在非托管C++中调用.NET的程序集
方案一,使用C++/CLI封装
这个例子在All-In-One
Code Framework (Library)中可以找到
分别是:
· CSClassLibrary (
C# 的类库)
· CppCLINETAssemblyWrapper(在C++/CLI中调用上面的C#类库,并封装)
· CppCallNETAssemblyWrapper(一个非托管的C++程序调用C++/CLI封装的C#的类库)
CppCallNETAssemblyWrapper通过CppCLINETAssemblyWrapper调用CSClassLibrary
第二中方案 CLR寄宿(Host
CLR)
例子
· CSClassLibrary (C# 的类库)
· CppHostCLR (一个非托管的C++程序里面包含CLR寄宿来调用C#类库)
这个非托管的项目寄宿一个CLR,在那里实例化一个.NET 程序集CSClassLibrary.dll并且调用里面的方法。.NET
Framework 1.x Hosting Interfaces 和 .NET
Framework 2.0 Hosting Interfaces中的方法都会在里面出现。
方案三,把.NET程序集转换为COM服