关于C++调用C# DLL的问题,求高手帮忙。。。

shailen126 2009-08-04 08:42:24
我的C++程序是用VS2003写的非托管程序,现在程序中要调用C#提供的DLL
按照网上的调用方法,在调用DLL的地方加了
#using "UserApproveInter.dll"
using namespace UserApproveInter;

但是会报这样的错误:fatal error C1190: 托管目标代码要求“#using <mscorlib.dll>”和“/clr”选项

我把C++程序设置成使用托管扩展后,编译会通过,但是无法调试程序,就是调试程序时VS2003直接挂掉了

求好的解决方法。。

另附本人一个思路:就是再做一个托管的C++DLL,把C#DLL再封装一下,然后再用当前这个非托管C++程序调用托管的C++DLL以完成对C#DLL的调用,不知道可行与否。。。
...全文
311 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
li365941471 2009-08-05
  • 打赏
  • 举报
回复
只能顶。!
真相重于对错 2009-08-04
  • 打赏
  • 举报
回复

[Quote=引用楼主 shailen126 的回复:]
我的C++程序是用VS2003写的非托管程序,现在程序中要调用C#提供的DLL
按照网上的调用方法,在调用DLL的地方加了
#using "UserApproveInter.dll" 
using namespace UserApproveInter;

但是会报这样的错误:fatal error C1190: 托管目标代码要求“#using  <mscorlib.dll>”和“/clr”选项

我把C++程序设置成使用托管扩展后,编译会通过,但是无法调试程序,就是调试程序时VS2003直接挂掉了

求好的解决方法。。

另附本人一个思路:就是再做一个托管的C++DLL,把C#DLL再封装一下,然后再用当前这个非托管C++程序调用托管的C++DLL以完成对C#DLL的调用,不知道可行与否。。。
[/Quote]
1.vs2003 会挂掉,考虑一下你的代码是否有问题或者是你的程序可能某部分与.net框架冲突,没有具体代码,别人不好回答你
2.再做一个托管c++ dll,和你直接调用C# 没有什么区别
3.C++还有还有一中方式调用.net 就是通过com,给.net的dll加一层com封装.具体看msdn 平台调用

shailen126 2009-08-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bigmingming 的回复:]
http://topic.csdn.net/t/20060427/13/4717887.html
[/Quote]

谢谢,不过这个帖子我已看过了,谁能再提点建设性意见??
bigmingming 2009-08-04
  • 打赏
  • 举报
回复
http://topic.csdn.net/t/20060427/13/4717887.html

7,540

社区成员

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

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