您现在的位置是:首页 >

怎么删除正在运行的dll文件 Dotnet实现动态加载和卸载dll

火烧 2023-04-17 08:23:37 1052
Dot et实现动态加载和卸载dll   案例 在Dot et中使用反射动态加载dll 却发现没有提供u load 方法?  思路  创建a domai 在其上加载dll 然后对可以a domai u

Dotnet实现动态加载和卸载dll  

  案例 在Dotnet中使用反射动态加载dll 却发现没有提供unload()方法?

  思路

怎么删除正在运行的dll文件 Dotnet实现动态加载和卸载dll

  创建appdomain 在其上加载dll 然后对可以appdomain unload(secmon) 从而间接unload已加载的dll

  google下可以找到很多代码 但我发现在windows form 上可以很轻易的完成的功能 但到asp net中就老是报错

  错误信息 ~ Microsoft Visual Studio Common IDE这个目录没有要卸载的dll 问题它为什么要跑到这个目录去找 而不去我给它指定的目录找呢?我使用                 

                    AppDomainSetup setup = new AppDomainSetup();                    setup ApplicationName = check ;                    setup ApplicationBase = path; //设置程序集加载的目录

  为什么会这样 我也一直没弄懂?   思路

  使用fileinfo 得到该dll 的二进制代码 由于没加载该dll 所以没不会出现无法unload的情况

             byte[] assemblyInfo = File ReadAllBytes( dllpath );                 Assembly asm = Assembly Load(assemblyInfo);             object obj = asm CreateInstance( namespace className true); lishixinzhi/Article/program/net/201311/14890  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码