我有这段代码,它将文件加载到RAM中,然后将它作为程序集加载到AppDomain(d
)中:
var a = d.Load(File.ReadAllBytes(tmp));
问题在于,当我稍后尝试删除位于tmp
的文件(现在只是使用文件资源管理器)时,我收到一条错误消息,指出该文件仍在我的程序中打开。我甚至尝试将using
关键字与File.Open
一起使用,但这似乎也无效。有人可以解释为什么会发生这种情况,以及如何解决它?
答案 0 :(得分:0)
ReadAllBytes应该关闭文件作为其功能的一部分。听起来有些东西阻止它关闭,因此你无法删除。也许发生的异常需要被抓住。
以下是一个类似的问题,其解决方案可能会有所帮助: Unable to delete some files via System.IO.File in C# console app