Assembly.Load, LoadFrom加载程序集无法释放资源的解决方案
Assembly.Load, LoadFrom加载程序集无法释放资源的解决方案
使用Assembly.Load()或LoadFrom()加载程序集不释放资源,文件一直被占用着,网上有资料使用AppDomain来加载程序集仍不能释放文件资源,一定要关闭主调用程序才能解除文件占用。 C# Code: AppDomain dom = AppDomain.CreateDomain("anyDomain"); AssemblyName assemblyName = new AssemblyName(); assemblyName.CodeBase = assemblyFile; Assembly assembly = dom.Load(assemblyName); Type [] types = assembly.GetTypes(); AppDomain.Unload(dom); //卸载AppDomain //来源:C/S框架网(www.csframework.com) QQ:1980854898 终极解决方法: C# Code: byte[] fileData = File.ReadAllBytes(assemblyFile); Assembly asm = Assembly.Load(fileData); //来源:C/S框架网(www.csframework.com) QQ:1980854898 使用byte[]参数加载程序集,这样不占用程序集文件。
参考文档:
DevExpress v10 汉化问题缺少程序集引用解决方案 解决方案:WCF客户端无法获取服务端抛出的异常详细信息 GridControl继承解决方案 关于打开视频文件报错解决方案 FastReport.NET 不存在类型或命名空间名称 'Export', 解决方案 WebAPI无法编译appBuilder.UseWebApi方法不存在解决方案 原创解决方案:VS无法连接到已配置的开发Web服务器 Win10 网络邻居无法访问其他计算机终极解决方案 Winform快速开发框架之存储图片资源解决方案|C/S框架网 代码生成器加载用户表和视图报错解决方案|C/S框架网 安装GIT msi 程序出现the error code is 2503解决方案 VS运行调试:当前无法命中断点,还没有为该文档加载任何符号|解决方案 VS设置App.config文件为嵌入的资源,360安全卫士报发现木马(解决方案) WCF开发框架-IIS启用net.tcp协议发现不会自动执行Global应用程序解决方案 升级程序MySQL测试报告:Packets larger than max_allowed_packet are not allowed 的解决方案
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |