首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

:net调用C++DLL有关问题!会的请进来帮忙

2012-02-19 
高分求教:.net调用C++DLL问题!会的请进来帮忙!我现在在做一个BS系统。需要用.net(C#)调用一个C++的消息队列

高分求教:.net调用C++DLL问题!会的请进来帮忙!
我现在在做一个BS系统。需要用.net(C#)调用一个C++的消息队列的DLL。
网上的方法我都试过了。但是还是老报错。
我的方法是:
我因为测试调用C++Dll专门建了个小项目(新建网站)
我将C++的DLL放到了bin目录下,同时也放到了system32目录下一份。
然后我在App_Code目录下建了个SysClass.cs的公共类,内容如下:
public   class   SysClass
{
public   SysClass()
{
//
//   TODO:   在此处添加构造函数逻辑
//
}
        [DllImport( "MQClient.dll ",   EntryPoint   =   "MQInit ",   CharSet   =   CharSet.Auto,   CallingConvention   =   CallingConvention.StdCall)]
        public   static   extern   bool   MQInit(string   szSerialNo);
}

然后再网页Default.aspx.cs中调用
string   szSerialNo   =   "common ";
SysClass.MQInit(szSerialNo);

但是老报错如下:

无法加载   DLL“MQClient.dll”:   找不到指定的模块。   (异常来自   HRESULT:0x8007007E)。

请问:为什么会加载不上???



[解决办法]
App_Code下放dll试试
[解决办法]
MQClient.dll用工具看看,函数名和参数。

软件名:depends.exe
[解决办法]
放在app_code下就行吧

[解决办法]
先注册一下MQClient.dll
[解决办法]
可能是由于你的DLL是非托管的,前几天我也遇到这个问题,这里有个完美解决方案,楼主参考

http://mscenter.edu.cn/blog/gxisone/archive/2007/01/03/117877.html
[解决办法]
philoo(小毛驴尥蹶子) ( ) 信誉:100 Blog 加为好友 2007-04-26 17:07:06 得分: 0


可能是由于你的DLL是非托管的,


这……肯定是非托管的。

热点排行