***********************请问关于DllImport的问题,马上揭贴***********************

ControlCoder67 2006-11-08 08:44:36
[DllImport("****.dll",CharSet = CharSet.Auto)]
请问这里第一个参数他的路径是怎么设置的啊

我不管怎么弄

总是提示找不到dll


...全文
181 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
webdiyer 2006-11-08
  • 打赏
  • 举报
回复
把dll文件放在PATH环境变量中注册过的路径下就可以了,一般都放在system32目录下,调用时就是需要再指定路径
avisnet 2006-11-08
  • 打赏
  • 举报
回复
那就好
ControlCoder67 2006-11-08
  • 打赏
  • 举报
回复


这样可以了哈

谢谢楼上的兄弟
ControlCoder67 2006-11-08
  • 打赏
  • 举报
回复

avisnet 2006-11-08
  • 打赏
  • 举报
回复
你把DLL入到System32中,然后用***.dll试试
ice_frank 2006-11-08
  • 打赏
  • 举报
回复
UP
ControlCoder67 2006-11-08
  • 打赏
  • 举报
回复
那怎么办呢
ControlCoder67 2006-11-08
  • 打赏
  • 举报
回复
提示
译器错误信息: CS0182: 属性参数必须是常量表达式、typeof 表达式或数组创建表达式
avisnet 2006-11-08
  • 打赏
  • 举报
回复
我也试了试,特性参数必须是常数。
ControlCoder67 2006-11-08
  • 打赏
  • 举报
回复
好象不行啊

我试过的

我用HttpRuntime.BinDirectory+"\\..dll"
这样提示错误
avisnet 2006-11-08
  • 打赏
  • 举报
回复
是啊,不行吗?
ControlCoder67 2006-11-08
  • 打赏
  • 举报
回复
不是啊

我的意思是能在dllimport这里动态的指定地址?
avisnet 2006-11-08
  • 打赏
  • 举报
回复
Response.Write(Server.MapPath("bin"));
ControlCoder67 2006-11-08
  • 打赏
  • 举报
回复
还是其他的写法啊?
ControlCoder67 2006-11-08
  • 打赏
  • 举报
回复
[DllImport("****.dll",CharSet = CharSet.Auto)]
这里可以这样写?
[DllImport(Server.MapPath("****.dll"),CharSet = CharSet.Auto)]
?????
avisnet 2006-11-08
  • 打赏
  • 举报
回复
Server.MapPath映射URL到物理路径
ControlCoder67 2006-11-08
  • 打赏
  • 举报
回复
我是放在bin目录中啊

可是还是提示找不到

然后我把路径改成绝对路径

就可以了

但是我的程序给别人用后,不可能要根据别人的目录再来改这个地址吧?

谢谢楼上的高手
avisnet 2006-11-08
  • 打赏
  • 举报
回复
这个DLL在bin目录(ASP.NET)中或者在与你的可执行文件在同一目录下(WINFORM),或者System32目录中,或者在Window目录中
ControlCoder67 2006-11-08
  • 打赏
  • 举报
回复
ControlCoder67 2006-11-08
  • 打赏
  • 举报
回复
高手帮忙
加载更多回复(1)
/* --------------------------------------------------------------- 文件名称:SmartMUsbHidDll.h 说 明:声明USB HID DLL函数 作 者:温子祺 创建时间:2010-08-06 联系方式:wenziqi@hotmail.com 博 客:http://www.cnblogs.com/wenziqi/ 小 组:http://group.ednchina.com/2748/ 官 网:www.smartmcu.com --------------------------------------------------------------- */ #ifdef SMARTMUSBHIDDLL_EXPORTS #define SMARTMUSBHIDDLL_API __declspec(dllexport) #else #define SMARTMUSBHIDDLL_API __declspec(dllimport) #endif #ifdef __cplusplus extern "C" { #endif /***************************************************** *函数名称:Init *输 入:VID 厂商ID PID 厂品ID *输 出:TRUE/FALSE *功 能:初始化USB *示 例: BOOL b=Init(0x1234,0x5678); ******************************************************/ SMARTMUSBHIDDLL_API extern BOOL Init (DWORD VID, DWORD PID); /***************************************************** *函数名称:Close *输 入:无 *输 出:TRUE/FALSE *功 能:关闭USB *示 例: BOOL b=Close(); ******************************************************/ SMARTMUSBHIDDLL_API extern BOOL Close(void); /***************************************************** *函数名称:Send *输 入:pSendBytes 发送数据缓冲区 unSendLength 发送数据长度 *输 出:成功发送的字节数 *功 能:USB发送数据 *示 例: UINT8 buf[64]={0x01,0x02,0x03} UINT b=Send(buf,64); ******************************************************/ SMARTMUSBHIDDLL_API extern UINT Send(UCHAR *pSendBytes,UINT unSendLength); /***************************************************** *函数名称:Recv *输 入:pRecvBytes 接收数据缓冲区 unRecvLength 接收数据长度 *输 出:成功接收的字节数 *功 能:USB接收数据 *示 例: UINT8 buf[64]; UINT b=Recv(buf,64); ******************************************************/ SMARTMUSBHIDDLL_API extern UINT Recv(UCHAR *pRecvBytes,UINT unRecvLength); #ifdef __cplusplus } #endif
/* --------------------------------------------------------------- 文件名称:SmartMComDll.h 说 明:声明串口DLL函数 作 者:温子祺 创建时间:2010-08-06 联系方式:wenziqi@hotmail.com 博 客:http://www.cnblogs.com/wenziqi/ 小 组:http://group.ednchina.com/2748/ 官 网:www.smartmcu.com --------------------------------------------------------------- */ #ifdef SMARTMCOMDLL_EXPORTS #define SMARTMCOMDLL_API __declspec(dllexport) #else #define SMARTMCOMDLL_API __declspec(dllimport) #endif #ifdef __cplusplus extern "C" { #endif /***************************************************** *函数名称:Init *输 入:portnr 端口号 baud 波特率 parity 校验方式 databits 数据位 stopbits 停止位 *输 出:TRUE/FALSE *功 能:初始化串口 *示 例: BOOL b=Init(1,9600,NOPARITY,8,ONESTOPBIT); ******************************************************/ SMARTMCOMDLL_API extern BOOL Init(UINT portnr, UINT baud, UINT parity, UINT databits, UINT stopbits); /***************************************************** *函数名称:Close *输 入:无 *输 出:TRUE/FALSE *功 能:关闭串口 *示 例: BOOL b=Close(); ******************************************************/ SMARTMCOMDLL_API extern BOOL Close(void); /***************************************************** *函数名称:Send *输 入:pSendBytes 发送数据缓冲区 unSendLength 发送数据长度 *输 出:成功发送的字节数 *功 能:串口发送数据 *示 例: UINT8 buf[3]={0x01,0x02,0x03} UINT b=Send(buf,3); ******************************************************/ SMARTMCOMDLL_API extern UINT Send(UCHAR *pSendBytes,UINT unSendLength); /***************************************************** *函数名称:Recv *输 入:pRecvBytes 接收数据缓冲区 unRecvLength 接收数据长度 *输 出:成功接收的字节数 *功 能:串口接收数据 *示 例: UINT8 buf[3]; UINT b=Recv(buf,3); ******************************************************/ SMARTMCOMDLL_API extern UINT Recv(UCHAR *pRecvBytes,UINT unRecvLength); #ifdef __cplusplus } #endif
/* --------------------------------------------------------------- 文件名称:SmartMTcpDll.h 说 明:声明网络 TCP DLL函数 作 者:温子祺 创建时间:2010-08-06 联系方式:wenziqi@hotmail.com 博 客:http://www.cnblogs.com/wenziqi/ 小 组:http://group.ednchina.com/2748/ 官 网:www.smartmcu.com --------------------------------------------------------------- */ #ifdef SMARTMTCPDLL_EXPORTS #define SMARTMTCPDLL_API __declspec(dllexport) #else #define SMARTMTCPDLL_API __declspec(dllimport) #endif #ifdef __cplusplus extern "C" { #endif /***************************************************** *函数名称:Init *输 入:szLocalIP 本地IP地址 unLocalPort 本地端口 szRemoteIP 目的IP地址 unRemotePort 目的端口 *输 出:TRUE/FALSE *功 能:初始化TCP *示 例: 方法1:BOOL b=Init("",1234,"192.168.1.168",5678); //本地任何IP地址 方法2:BOOL b=Init("192.168.1.188",1234,"192.168.1.168",5678);//本地IP地址192.168.1.188 ******************************************************/ SMARTMTCPDLL_API extern BOOL Init (CHAR * szLocalIP, UINT unLocalPort, CHAR * szRemoteIP, UINT unRemotePort ); /***************************************************** *函数名称:Close *输 入:无 *输 出:TRUE/FALSE *功 能:关闭TCP *示 例: BOOL b=Close(); ******************************************************/ SMARTMTCPDLL_API extern BOOL Close(void); /***************************************************** *函数名称:Send *输 入:pSendBytes 发送数据缓冲区 unSendLength 发送数据长度 *输 出:成功发送的字节数 *功 能:TCP发送数据 *示 例: UINT8 buf[64]={0x01,0x02,0x03} UINT b=Send(buf,64); ******************************************************/ SMARTMTCPDLL_API extern UINT Send(UCHAR *pSendBytes,UINT unSendLength); /***************************************************** *函数名称:Recv *输 入:pRecvBytes 接收数据缓冲区 unRecvLength 接收数据长度 *输 出:成功接收的字节数 *功 能:TCP接收数据 *示 例: UINT8 buf[64]; UINT b=Recv(buf,64); ******************************************************/ SMARTMTCPDLL_API extern UINT Recv(UCHAR *pRecvBytes,UINT unRecvLength); #ifdef __cplusplus } #endif
/* --------------------------------------------------------------- 文件名称:SmartMCUdpDll.h 说 明:声明网络 UDP DLL函数 作 者:温子祺 创建时间:2010-08-06 联系方式:wenziqi@hotmail.com 博 客:http://www.cnblogs.com/wenziqi/ 小 组:http://group.ednchina.com/2748/ 官 网:www.smartmcu.com --------------------------------------------------------------- */ #ifdef SMARTMUDPDLL_EXPORTS #define SMARTMUDPDLL_API __declspec(dllexport) #else #define SMARTMUDPDLL_API __declspec(dllimport) #endif #ifdef __cplusplus extern "C" { #endif /***************************************************** *函数名称:Init *输 入:szLocalIP 本地IP地址 unLocalPort 本地端口 szRemoteIP 目的IP地址 unRemotePort 目的端口 *输 出:TRUE/FALSE *功 能:初始化UDP *示 例: 方法1:BOOL b=Init("",1234,"192.168.1.168",5678); //本地任何IP地址 方法2:BOOL b=Init("192.168.1.188",1234,"192.168.1.168",5678);//本地IP地址192.168.1.188 ******************************************************/ SMARTMUDPDLL_API extern BOOL Init (CHAR * szLocalIP, UINT unLocalPort, CHAR * szRemoteIP, UINT unRemotePort ); /***************************************************** *函数名称:Close *输 入:无 *输 出:TRUE/FALSE *功 能:关闭UDP *示 例: BOOL b=Close(); ******************************************************/ SMARTMUDPDLL_API extern BOOL Close(void); /***************************************************** *函数名称:Send *输 入:pSendBytes 发送数据缓冲区 unSendLength 发送数据长度 *输 出:成功发送的字节数 *功 能:UDP发送数据 *示 例: UINT8 buf[64]={0x01,0x02,0x03} UINT b=Send(buf,64); ******************************************************/ SMARTMUDPDLL_API extern UINT Send(UCHAR *pSendBytes,UINT unSendLength); /***************************************************** *函数名称:Recv *输 入:pRecvBytes 接收数据缓冲区 unRecvLength 接收数据长度 *输 出:成功接收的字节数 *功 能:UDP接收数据 *示 例: UINT8 buf[64]; UINT b=Recv(buf,64); ******************************************************/ SMARTMUDPDLL_API extern UINT Recv(UCHAR *pRecvBytes,UINT unRecvLength); #ifdef __cplusplus } #endif
/* --------------------------------------------------------------- 文件名称:SmartMCH37xDll.h 说 明:声明USB CH37x DLL函数 作 者:温子祺 创建时间:2010-08-06 联系方式:wenziqi@hotmail.com 博 客:http://www.cnblogs.com/wenziqi/ 小 组:http://group.ednchina.com/2748/ 官 网:www.smartmcu.com --------------------------------------------------------------- */ #ifdef SMARTMCH37XDLL_EXPORTS #define SMARTMCH37XDLL_API __declspec(dllexport) #else #define SMARTMCH37XDLL_API __declspec(dllimport) #endif #ifdef __cplusplus extern "C" { #endif /***************************************************** *函数名称:Init *输 入:unIndex CH37x USB设备索引号 *输 出:TRUE/FALSE *功 能:初始化USB *示 例: BOOL b=Init(0); ******************************************************/ SMARTMCH37XDLL_API extern BOOL Init (ULONG ulIndex); /***************************************************** *函数名称:Close *输 入:无 *输 出:TRUE/FALSE *功 能:关闭USB *示 例: BOOL b=Close(); ******************************************************/ SMARTMCH37XDLL_API extern BOOL Close(void); /***************************************************** *函数名称:Send *输 入:unEndPoint 发送数据端点 pSendBytes 发送数据缓冲区 unSendLength 发送数据长度 *输 出:成功发送的字节数 *功 能:USB发送数据 *示 例: UINT8 buf[64]={0x01,0x02,0x03} UINT b=Send(1,buf,8); //端点1发送数据 b=Send(2,buf,64); //端点2发送数据 ******************************************************/ SMARTMCH37XDLL_API extern UINT Send(UINT unEndPoint,UCHAR *pSendBytes,UINT unSendLength); /***************************************************** *函数名称:Recv *输 入:unEndPoint 接收数据端点 pRecvBytes 接收数据缓冲区 unRecvLength 接收数据长度 *输 出:成功接收的字节数 *功 能:USB接收数据 *示 例: UINT8 buf[64]={0x01,0x02,0x03} UINT b=Recv(1,buf,8); //端点1接收数据 b=Recv(2,buf,64); //端点2接收数据 ******************************************************/ SMARTMCH37XDLL_API extern UINT Recv(UINT unEndPoint,UCHAR *pRecvBytes,UINT unRecvLength); #ifdef __cplusplus } #endif

62,042

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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