C++ 调用C# Dll的方法

使用vs2013自带工具Depends,查看Dll显示如图

尝试使用动态加载JF.dll库,返回193,一直加载失败,其中OpenCvSharp.dll也是C#的库,用此方法加载没有问题。PS:用Depends查看OpenCvSharp.dll正常

 

C#中 类定义如图

 

正常加载JF.dll方式如下:

1、C++项目属性-》配置属性-》常规-》公共语言运行时支持-》选中“公共语言运行时支持(/clr)”,否则不支持C#语言

2、引用C# dll方式如图

注意:

1、使用#using引用C#编写的DLL,而不是#include

2、引用C#的DLL后,还需要添加该DLL的命名空间using namespace JF;

3、使用C++/clr语法,采用正确的方式访问托管对象,即:使用帽子“^”,而不是“*”