gpt4 book ai didi

c# - 删除被 vshost.exe c# 锁定的图像文件

转载 作者:行者123 更新时间:2023-11-30 21:07:15 27 4
gpt4 key购买 nike

我有一个以表格形式显示图像的 C# 应用程序。我正在尝试覆盖这些图像并重新生成它们。我在尝试删除现有图像时出现异常(在本例中为 png)。我尝试处理图片框正在使用的图像,然后将其设置为 null,但由于共享冲突,我仍然遇到异常。不过,我可以毫无问题地转到资源管理器并删除文件。

在试图找出锁定此图像的进程时,Process Monitor 告诉我它是托管我的应用程序的 vhost.exe

我该如何解决这个问题?有什么方法可以让主机释放对文件的锁定,以便我可以删除/重新创建它?最终,我有大量图像生成为缩略图,这些图像需要在我的数据库发生影响图形的更改时随时更新。我不愿意认为我需要调用命令 shell 来执行此操作。

感谢您的任何建议。

加里

最佳答案

您可以尝试使用文件流加载图像并在阅读后关闭它们。

FileStream fileStream = new FileStream("ImageName.jpg", FileMode.Open, FileAccess.Read);
yourPictureBox.Image = Image.FromStream(fileStream);
fileStream.Close();

或者不是显式关闭;您可以使用 using 语句;

using(FileStream fileStream = new FileStream("ImageName.jpg", FileMode.Open, FileAccess.Read))
{
yourPictureBox.Image = Image.FromStream(fileStream);
}

关于c# - 删除被 vshost.exe c# 锁定的图像文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10551229/

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