关于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的调用,不知道可行与否。。。
...全文
287 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
li365941471 2009-08-05
只能顶。!
回复

[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
回复
相关推荐
发帖
VC.NET
创建于2007-09-28

7541

社区成员

.NET技术 VC.NET
申请成为版主
帖子事件
创建了帖子
2009-08-04 08:42
社区公告
暂无公告