我有个C#的DLL,这个DLL会引用个第三方DLL,如Log4net等,
如果这些第三方DLL跟我DLL放同一个目录是没有问题,但是这个目录下已经太多DLL,看起来很乱
我想把所有用到的第三方DLL放到一个独立文件夹内,这样看起来美观些。但是找了好久没有找到什么方法 ,只有找到配置可执行程序 XX.exe.config设置加载指定路径第三方DLL的方法,
但没有找到DLL加载指定路径第三方DLL的方法。不知道各位有否这方面的经验?谢谢

解决方案 »

  1.   

    修改是在csproj里面,core项目可以直接在vs中进行编辑,其它项目只能在外部通过其它进行编辑
      

  2.   


    我现在就是这样用,这个编译是可以,但运行是还是提示找不到相关程序集;
    我是希望实际程序是这样放: 
          可执行程序.exe
          我的DLL.dll
          我DLL引用的第三方DLL存放的文件夹   
      

  3.   

    在AppDomain.CurrentDomain.AssemblyResolve事件中根据请求的dll名称进行重定向,再通过Assembly.LoadFile加载对应的dll文件。
      

  4.   

    添加到“引用”,然后using
      

  5.   

    只要放在系统的搜索路径中,就不会出任何问题
    加载外部文件的搜索次序是:显式指定的目录、程序运行的目录,环境变量 path 指定的目录树
    如果你不能修改你加载的 dll 文件,那么只能将被该 dll 加载的 dll 放在系统的搜索路径中,而不是其他