【求助】C++调用C#写的dll时,出现.NET兼容问题

youximeng2731 2017-01-19 10:56:06
最近遇到了一个痛苦的问题,想请教各位大神~~

我用VS2013 C#语言写了一个dll,由于用到了微软的Kinect2.0,所以dll是基于类库,且框架必须是基于.NET Framework4.5以上。我用VS2013 C++语言(基于CHAI3D库函数)写调用dll的程序,CHAI3D库的框架是.NET Framework 4.0。当我使用C++调用dll时,提示引用无法添加,具体问题如下:

无法添加dll的引用;
可能原因是面向更高版本的.NET Framework;
不是.NET程序集;
不是已注册的ActiveX控件。

纠结了好多天了,怀疑是.NET版本不兼容,4.0无法调用.4.5,可是到底该怎么解决呢,我这个菜鸟,已经急死了。
...全文
562 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
youximeng2731 2017-01-20
  • 打赏
  • 举报
回复
引用 4 楼 Hello_Ge 的回复:
把你的工程还成4.5,c++和c#版本一致就行了
不知道什么原因,我用4.5建的工程,工程里添加了CHAI3D(4.0)的项目,工程最终就显示4.0的了,而且没处改framework版本?我觉得我的工程建的可能有问题。
  • 打赏
  • 举报
回复
把你的工程还成4.5,c++和c#版本一致就行了
stherix 2017-01-19
  • 打赏
  • 举报
回复
引用 2 楼 youximeng2731 的回复:
我新建的工程是基于4.5,问题是解决方案必须添加CHAI3D项目,而CHAI3D是人家公司写好的函数库,默认4.0,不能修改其framework版本了吧
你的工程是4.5 ,可以引用4.0的dll ,哪怕引用2.0的dll都没关系
youximeng2731 2017-01-19
  • 打赏
  • 举报
回复
我新建的工程是基于4.5,问题是解决方案必须添加CHAI3D项目,而CHAI3D是人家公司写好的函数库,默认4.0,不能修改其framework版本了吧
stherix 2017-01-19
  • 打赏
  • 举报
回复
你可以把你的项目从4.0改成4.5就行了 可以调用.40的库 高版本可以兼容低版本framework

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧