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
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[] fileData = File.ReadAllBytes(assemblyFile);
Assembly asm = Assembly.Load(fileData);
//来源:C/S框架网(www.csframework.com) QQ:1980854898
使用byte[]参数加载程序集,这样不占用程序集文件。
参考文档:
C#版智能五子棋游戏(3)
C#.Net CS开发框架实现多语言(C/S框架网)
.NETCore WebApi运行报错:System.AggregateException:“Some services are not able to be constructed|C/S开发框架
EntityFramework通用DbContext类,支持动态实体模型,多数据库(MySQL,SqlServer,Oracle)
软件自动升级程序AutoUpgrader优化:获取最新升级包|C/S开发框架
.NET Core Configuration类使用方法-C/S开发框架
C/S框架新功能:自动检测升级包并强制关闭应用程序进行版本升级
关于开发框架字段名管理功能(frmFieldNameMgr类)
系统模块的字段名管理与代码生成器的字段名管理
C# Winform软件版本自动升级 | 软件系统自动更新工具
C/S框架主程序调用版本自动升级程序(CSFrameworkV5.AutoUpgrader)VersionCheckNEW类
通过反射,调用DLL程序集某个类的静态方法打开窗体
开发框架提供两个方案加载业务模块
创建TreeList及打开TreeListNode.Tag属性对应的窗体
C#版智能五子棋游戏(3)
C#.Net CS开发框架实现多语言(C/S框架网)
.NETCore WebApi运行报错:System.AggregateException:“Some services are not able to be constructed|C/S开发框架
EntityFramework通用DbContext类,支持动态实体模型,多数据库(MySQL,SqlServer,Oracle)
软件自动升级程序AutoUpgrader优化:获取最新升级包|C/S开发框架
.NET Core Configuration类使用方法-C/S开发框架
C/S框架新功能:自动检测升级包并强制关闭应用程序进行版本升级
关于开发框架字段名管理功能(frmFieldNameMgr类)
系统模块的字段名管理与代码生成器的字段名管理
C# Winform软件版本自动升级 | 软件系统自动更新工具
C/S框架主程序调用版本自动升级程序(CSFrameworkV5.AutoUpgrader)VersionCheckNEW类
通过反射,调用DLL程序集某个类的静态方法打开窗体
开发框架提供两个方案加载业务模块
创建TreeList及打开TreeListNode.Tag属性对应的窗体
其它资料:
什么是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内容管理系统 |
什么是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内容管理系统 |
在线客服
