C# 删除我的应用程序文件夹中的照片

C# 删除我的应用程序文件夹中的照片,c#,wpf,C#,Wpf,我的应用程序中有删除图片的疑难解答,我使用foreach删除文件夹中的文件 我在我的应用程序中使用无头skype登录,登录成功后查询联系人姓名和联系人照片,但我在关闭应用程序时遇到问题,我想删除应用程序文件夹中所有联系人的照片。请参阅要删除的代码: var assemblyLocation=Assembly.getExecutionGassembly().Location; var applicationDirectory=System.IO.Path.GetDirectoryName(asse

我的应用程序中有删除图片的疑难解答,我使用foreach删除文件夹中的文件

我在我的应用程序中使用无头skype登录,登录成功后查询联系人姓名和联系人照片,但我在关闭应用程序时遇到问题,我想删除应用程序文件夹中所有联系人的照片。请参阅要删除的代码:

var assemblyLocation=Assembly.getExecutionGassembly().Location;
var applicationDirectory=System.IO.Path.GetDirectoryName(assemblyLocation);
var imagesDirectory=System.IO.Path.Combine(applicationDirectory,“img”);
var contact_photo=目录.枚举文件(imagesDirectory,
“*.jpg”,SearchOption.TopDirectoryOnly);
如果(联系人照片!=空)
{
foreach(联系方式中的var照片\u照片)
{
控制台。WriteLine(照片);
删除(照片);
}
}

错误消息:

The process cannot access the file 'C:\Users\...\mypicture.jpg'
because it is being used by another process.
请帮帮我

参考这个答案

该文件被另一个进程使用,您必须确保保存该文件的进程已将其释放。若它不在您的控制范围内,那个么您需要尝试catch块来避免异常,并且您不能做更多的事情

try
{
    //Delete file
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message.ToString());
}
参考这个答案

该文件被另一个进程使用,您必须确保保存该文件的进程已将其释放。若它不在您的控制范围内,那个么您需要尝试catch块来避免异常,并且您不能做更多的事情

try
{
    //Delete file
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message.ToString());
}

在删除图像之前,您是否检查了这些图像的使用情况

WPF应用程序的其他部分可能会在您没有注意到的情况下锁定它们


在删除图像之前,您是否查看了这些图像的使用情况

WPF应用程序的其他部分可能会在您没有注意到的情况下锁定它们


请确保您关闭了应用程序的所有进程,因为它仍在使用您要删除的图片。请注意,对于正常安装的应用程序,您没有对其文件夹的写入权限。请确保您关闭了应用程序的所有进程,因为它仍在使用您要删除的图片。请注意,对于正常安装的应用程序,您没有写入权限访问其文件夹。感谢您的回答,当我尝试跟踪控制台中显示的错误时,但我不知道确切原因,当我在Skype中登录更正的用户名和密码时,为什么无法删除。对我来说,我不确定,但我想是因为我在MainWindows中使用Dispatcher()在5秒内查询联系人循环。所以在删除照片的过程中,DsspatcherTimer可能会出现问题。你如何看待这个过程?删除?时Skype运行时或DisactureTimer出现问题?。有什么想法吗!感谢您的回答,当我尝试跟踪您控制台中显示的错误时,但我不知道确切原因,当我在Skype中登录更正的用户名和密码时,为什么无法删除。对我来说,我不确定,但我想是因为我在MainWindows中使用Dispatcher()在5秒内查询联系人循环。所以在删除照片的过程中,DsspatcherTimer可能会出现问题。你如何看待这个过程?删除?时Skype运行时或DisactureTimer出现问题?。有什么想法吗!