先感慨一下,研究这个问题研究了四个工作日才解决,实在是太不容易了,现在很开心很得意,叉会腰哈哈~
虽然就是一件看起来很简单的事情,我相信你在看到我这篇文章之前也已经看过许多相关文章了,但是很多细节需要注意,哪一步没有做好可能就走入了一个无尽的陷阱绕许多弯路,把我的经验分享出来如果能帮助到也遇到相同问题的小伙伴,就真的太好不过了。(我的开发环境:WinXP-VC++6.0 C++ & Win7-VS2015 C#)
用C++调用C#dll一般是两个方式:
①C++直接调用C#生成的DLL。这个方法要求C++在编译时要选择公共运行时支持(CLR),因为我最终需要用VC6编译程序,我没在VC6中找到有关CLR的设置,又考虑到这个方法以后可能会存在很多平台的限制,就放弃了。
②C++以COM形式调用C#生成的DLL。我用的是这个方法,下面具体来阐述一下。
首先,在C#方面的操作:
一、新建类库工程
上方选择.NET版本,建议选择2.0-4.0之间的,因为XP环境最高支持4.0,这个版本选择很重要,之后注册COM会有影响,要注意。