Удаление изображения во время выполнения - PullRequest
2 голосов
/ 21 декабря 2010

Я пытаюсь удалить изображение с помощью метода: (путь к файлу верен на 100%)

if(File.Exists(filePath))
   File.Delete(filePath);

, и я получаю следующее исключение:

Произошло необработанное исключение типа «System.IO.IOException» в mscorlib.dll

Дополнительная информация: процесс не может получить доступ к файлу 'C: \ visual_programming \ yad2 \ yad2 \ bin \ Debug \ images \ 1.JPG ', потому что он используется другим процессом.

Ответы [ 2 ]

2 голосов
/ 21 декабря 2010

Это общая проблема для изображений, которые связаны напрямую с ImageSource элемента управления Image. Вы должны создать ImageSource через BitmapImage и установить для свойства BitmapImage.CacheOption значение BitmapCacheOption.OnLoad:

BitmapImage bi = new BitmapImage();

// Begin initialization.
bi.BeginInit();

// Set properties.
bi.CacheOption = BitmapCacheOption.OnLoad;
// 
bi.EndInit();

Подробнее о BitmapImage.CacheOption на MSDN

1 голос
/ 21 декабря 2010

Он говорит вам точно, что не так; другой процесс в настоящее время обращается к файлу.

См. здесь , чтобы узнать, как можно идентифицировать этот процесс.

...