现在的位置: 首页 > 综合 > 正文

如何在非托管C++中调用.NET的程序集

2012年11月25日 ⁄ 综合 ⁄ 共 681字 ⁄ 字号 评论关闭

如何在非托管C++中调用.NET的程序集

转载:http://social.msdn.microsoft.com/Forums/zh-CN/visualcpluszhchs/thread/92b73da2-32bc-4856-b296-81283cccb919/


方案一,使用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

抱歉!评论已关闭.