简单描述一下:比如我有三个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文件放在根目录下显得很杂乱,按目录归类就显得很有必要了,不知道各位朋友有没有这方面的经验,不吝赐教!
这样子引用a没有问题,可是系统会提示找不到b或c文件,必须将b和c放在根目录下才行。
项目中总会碰到使用第三方设备api的时候,当设备多的时候各种dll文件放在根目录下显得很杂乱,按目录归类就显得很有必要了,不知道各位朋友有没有这方面的经验,不吝赐教!
我是在C#中引用C++的dll文件的。
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="文件夹;文件夹2"/>
</assemblyBinding>
</runtime>
</configuration>
在配置文件 里上面的的试试
文件夹路径是从项目文件夹开始还是从Debug目录开始?
就是
用程序名.exe.config
不过该方法只适用于.Net的Dll,对C++的Dll无效。
试试 调用a的方法前设置Environment.CurrentDirectory="Device1的绝对路径"