我们在做一个项目,很多时候都会把一部分功能用DLL封装起来,一方面是为了方便开发,以供其他人员调用,实现代码的重用,另一方面是为了不想让别人看到自己写的代码。这就会出现一个问题,我们在DLL代码里面写的路径,当主程序要调用时就会报找不到路径的错误,这很正常,因为路径起点被移动到主程序了,自然要报错。而且我们平常所用的寻找路径的函数,类似于
Environment.CurrentDirectory;
Directory.GetCurrentDirectory();
这只是寻找可执行文件当前目录下的路径,只是exe文件下的路径,而不是DLL目录下的路径,所以这两个函数根本不起作用。
今天我也遇到这个问题,然后偶然看到了一个函数,解决了这个问题,AppDomain.CurrentDomain.BaseDirectory
,这个就是寻找所调用DLL的路径。