Подтвердить что ты не робот

Процесс не может получить доступ к файлу, поскольку он используется другим процессом

У меня есть набор ночных отчетов.

Иногда я получаю исключение:

Процесс не может получить доступ к файлу, потому что он используется другим процессом

Как узнать, какой процесс хранится в файле? Я думаю, что это McAfee, но мне нужно это доказать.

4b9b3361

Ответ 1

Проблема заключалась в том, что MailMessage в .NET поддерживал вложения файлов. Я должен был сделать распоряжение на вложении, а затем он работал.

Ответ 3

Attachment data = new Attachment(@"c:\filename");

'send email....

data.Dispose();    

Ответ 4

здесь некоторый инструмент (ы), который сообщает и разблокирует заблокированные файлы: http://ccollomb.free.fr/unlocker/

Ответ 5

Подтверждено. У меня была аналогичная проблема, и я сделал то, что сказал Грег.

В блоке finally после отправки сообщения я просто поместил его туда, и он выпустил дескрипторы файла:

foreach(Attachment a in message.Attachments) a.Dispose();

Ответ 6

Filemon может быть инструментом, который вы ищете.

(или даже Process Monitor, который, очевидно, заменил FileMon.)

Ответ 7

  • Проводник процессов > Найти > Найти Handle > введите имя файла.
  • Unlocker. Попытайтесь открыть его, если он имеет замок, откроется разблокировка и покажите вам программы, которые его блокируют.

Ответ 8

GC.Collect() после удаления должен его исправить.

Ответ 9

Я пытался запустить Java-программу и получил сообщение. В диспетчере задач уже была запущена задача Java (looping?), Когда я убил этот процесс, мой процесс смог запустить.

Ответ 10

У меня была такая же проблема, но в моем случае я пытался удалить файл .mdf в Visul Studio 2012. Не так много информации об ошибке, чтобы помочь мне решить эту проблему, и поэтому я пришел сюда, чтобы найти помощь, Тогда я понял, что, несмотря на свою аналогичную проблему, это был совсем другой процесс, с которым мне пришлось иметь дело.

Я попытался удалить файл .mdf в проводнике Windows, а затем я дал мне ошибку, что SQL Server 2008 R2 на самом деле держался за файл, хотя я удалил базу данных. Как только я понял, что все, что мне нужно было сделать, это закрыть SQL Server 2008 R2 и попытаться удалить файл снова, и он сработал.

Если вам нужны инструкции по включению и выключению SQL Server 2008 R2, см. ссылку ниже.

Включить и выключить SQL Server