加载指定文件夹下非托管dll

feishare 2011-09-04 05:37:04
现在因为两医保dll相同,同一程序下怎么指定加载指定文件夹下的非托管dll,
而且需要加载指定dll时,同时它依赖的其他dll也同样需要加载
...全文
115 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
楼主2个医保对吧 一个医保的dll建一个文件夹 把所有的dll文件放到一起

你别把文件搞乱了啊

用相对路径读取就行了吧
sdl2005lyx 2011-09-05
  • 打赏
  • 举报
回复
[DllImport("..\\dir1\\xxx.dll", CharSet = CharSet.Ansi )]
楼主,注意红色部分,用相对路径!
feishare 2011-09-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sdl2005lyx 的回复:]

“现在因为两医保dll相同,同一程序下怎么指定加载指定文件夹下的非托管dll,
而且需要加载指定dll时,同时它依赖的其他dll也同样需要加载”

楼主,你是说它们的名称都完全相同吗?
如果是这样,你最好建两个不同的子目录来区分,并把它们分别依赖的dll移到相应子目录下。

因为平台调用是无法区分同一名称的非托管dll的!
[/Quote]

是的,我是这样想的,但是两个医保相关的配置文件啥的命名也相同,如果分别将dll移动分开的子目录下,
去调用主要的dll其他的依赖的dll不能加载,也会报配置文件找不到,我估计都是到根目录下找的
sdl2005lyx 2011-09-04
  • 打赏
  • 举报
回复
“现在因为两医保dll相同,同一程序下怎么指定加载指定文件夹下的非托管dll,
而且需要加载指定dll时,同时它依赖的其他dll也同样需要加载”

楼主,你是说它们的名称都完全相同吗?
如果是这样,你最好建两个不同的子目录来区分,并把它们分别依赖的dll移到相应子目录下。

因为平台调用是无法区分同一名称的非托管dll的!
bdmh 2011-09-04
  • 打赏
  • 举报
回复
DllImport,引入所有你需要的dll
wnyxy001 2011-09-04
  • 打赏
  • 举报
回复
http://lovnet.iteye.com/blog/995475
看看这个吧 可能对你有帮助
zhouxingyu896 2011-09-04
  • 打赏
  • 举报
回复
就跟 引用API一样的方法

与下面的形式一样的

楼主可参考


[DllImport("c:\\dll\\yourdll.dll", CharSet = CharSet.Ansi ,CallingConvention=CallingConvention.StdCall , EntryPoint = "Encode")]
public static extern bool Encode(int ClientConnection, string InBuffer, int InLength,Out string Buffer; out int OutLength, ref string Error)






110,524

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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