关于Dll动态库的引用归类问题

blankc 2012-12-04 10:26:20
简单描述一下:比如我有三个C++的dll文件a.dll\b.dll\c.dll,其中a需要引用b和c的内容。我希望将这三个dll文件统一放在一个子文件夹Device1下,于是在Native.cs文件中这样引用a
 [DllImport("Device1\\a.dll")]

这样子引用a没有问题,可是系统会提示找不到b或c文件,必须将b和c放在根目录下才行。
项目中总会碰到使用第三方设备api的时候,当设备多的时候各种dll文件放在根目录下显得很杂乱,按目录归类就显得很有必要了,不知道各位朋友有没有这方面的经验,不吝赐教!
...全文
144 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
51Crack 2012-12-13
  • 打赏
  • 举报
回复
怎么可能,同一目录下还找不到,a真是SB 试试 调用a的方法前设置Environment.CurrentDirectory="Device1的绝对路径"
blankc 2012-12-13
  • 打赏
  • 举报
回复
刚刚试了一下,是路径从Debug目录(也就是当前目录)开始的。 不过该方法只适用于.Net的Dll,对C++的Dll无效。
本拉灯 2012-12-13
  • 打赏
  • 举报
回复
引用 5 楼 blankc 的回复:
请问配置文件是否指的是“应用程序名.exe.config”? 文件夹路径是从项目文件夹开始还是从Debug目录开始?
用相对路径
本拉灯 2012-12-13
  • 打赏
  • 举报
回复
引用 5 楼 blankc 的回复:
请问配置文件是否指的是“应用程序名.exe.config”? 文件夹路径是从项目文件夹开始还是从Debug目录开始?
就是 用程序名.exe.config
blankc 2012-12-13
  • 打赏
  • 举报
回复
请问配置文件是否指的是“应用程序名.exe.config”? 文件夹路径是从项目文件夹开始还是从Debug目录开始?
本拉灯 2012-12-13
  • 打赏
  • 举报
回复
<?xml version="1.0" encoding="utf-8" ?> <configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <probing privatePath="文件夹;文件夹2"/> </assemblyBinding> </runtime> </configuration> 在配置文件 里上面的的试试
blankc 2012-12-13
  • 打赏
  • 举报
回复
2楼的方法试过了,不行的。 我是在C#中引用C++的dll文件的。
SaintLance 2012-12-13
  • 打赏
  • 举报
回复
把你的Device1在工程属性里添加到引用路径应该就可以找到了。
blankc 2012-12-13
  • 打赏
  • 举报
回复
没有人回复吗??求关注!!

110,571

社区成员

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

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

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