C# WPF 在使用LoadFile读取dll文件中的内容后 删除该dll 访问被拒绝
在使用LoadFile方法加载dll文件后,该dll文件将被锁定,因此无法直接删除。可以尝试在加载dll文件后使用AppDomain.Unload方法卸载加载的程序集,然后再删除该dll文件。以下是一个示例代码:
string filePath = "path_to_dll_file.dll";
// 加载dll文件
Assembly assembly = Assembly.LoadFile(filePath);
// 卸载程序集
AppDomain.CurrentDomain.GetAssemblies()
.Where(a => a.FullName.StartsWith(assembly.FullName.Split(',')[0]))
.ToList()
.ForEach(a => AppDomain.CurrentDomain.Load(a.FullName));
// 删除dll文件
File.Delete(filePath);
请注意,这段代码需要在具有足够权限的上下文中运行,否则将会出现访问被拒绝的错误。
原文地址: https://www.cveoy.top/t/topic/hPWb 著作权归作者所有。请勿转载和采集!