gpt4 book ai didi

c# - Assembly.LoadFrom 是否保留打开的文件句柄?

转载 作者:行者123 更新时间:2023-11-30 13:58:15 24 4
gpt4 key购买 nike

我正在使用加载另一个程序集

Assembly.LoadFrom("path.exe");

然后我似乎无法从文件系统中删除该 exe。所以我想知道这条路径是否保留一个打开的文件句柄以及我如何关闭它?

最佳答案

是的,它会一直打开,直到程序集从应用程序域中卸载。

如果确实需要删除文件,将其内容加载到内存中。使用Assembly.Load(byte[])加载程序集:

using (Stream stream = File.OpenRead("path.exe"))
{
byte[] rawAssembly = new byte[stream.Length];
stream.Read(rawAssembly, 0, (int)stream.Length);
Assembly.Load(rawAssembly);
}

关于c# - Assembly.LoadFrom 是否保留打开的文件句柄?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17838378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com