Запрошенная операция не может быть выполнена в файле с открытым пользователем разделом

Всякий раз, когда я пытался скопировать 4 файла в папку bin, после остановки основной службы я получаю сообщение об ошибке с одним файлом (TexteDll). Ошибка:

Cannot copy TexteDll: The requested operation cannot be performed on a file 
with a user-mapped section open

Возможно, это связано с некоторой системной блокировкой. Или, возможно, другой процесс использует эту DLL. Когда я googled, я обнаружил, что перезагрузка системы может решить эту проблему.

Может ли кто-нибудь предложить причину или решение для этого? Я проверил свойства TexteDll (общий, версия, безопасность и т.д.). Все выглядит нормально.

+184
11 янв. '11 в 13:56
источник поделиться
25 ответов

В моем случае это был Explorer, который блокировал DLL, которая была скомпилирована в папке Debug... Странно, не правда ли?

Я узнал, используя инструмент Unlocker.

Пришлось удалить с помощью Unlocker, даже когда он говорил, что не было блокировки над файлом, и я не смог удалить папку до тех пор, пока я не удалю этот единственный файл...

После этого он скомпилирован.

EDIT:

Я узнал, почему в моем случае это происходило. У меня была DLL, открытая в текстовом редакторе внутри Visual Studio...

+168
12 мар. '13 в 19:14
источник

Связанные вопросы


Похожие вопросы

  • Иногда, когда вы дважды щелкаете по предупреждению об упомянутых ссылках несоответствие версии сборки между двумя или несколькими проектами, которые вы забываете закройте окно просмотра сборки и оставайтесь там среди других вкладки... так что вы заканчиваете сборку, заблокированную VS и мне потребовалось довольно много времени, чтобы понять это:)

    Будьте осторожны с мощностью VS обеспечивает;)

  • Другой фиктивный сценарий. Иногда просто удаляя весь объект или только файл, предупрежденный как заблокированный, помогает с этим crappy error.
+70
19 февр. '14 в 17:40
источник

закрыть все документы на VS и попытаться снова восстановить. Если он не работает, перезапустите VS. Эта проблема связана с блокировкой файлов DLL.

+32
02 сент. '13 в 11:16
источник

У меня была такая же проблема, и в моем случае оказалось, что существующий выходной файл был заблокирован другим приложением.

Вы можете проверить, какое приложение блокирует ваш выходной файл с помощью OpenedFilesView: http://www.nirsoft.net/utils/opened_files_view.html

+10
27 сент. '12 в 9:42
источник

Закройте визуальную студию, удалите корзину, отпустите папку выпуска и снова запустите визуальный проект студии. который исправил мою проблему

+10
18 мар. '14 в 11:30
источник

Другие уже установили, что эта ошибка возникает из-за другого приложения, имеющего блокировку файла. Просто хочу указать, что git diff блокирует файлы, пока вы не выйдете из него. Что вызвало это в моем случае.

+9
22 мар. '16 в 5:10
источник

Я разработчик и не люблю приложения, введенные в Registery, например Unlocker. Я использовал SysInternals Process Explorer, который запустил мою dll Find > Find Handle or Dll [Ctrl-F] и убил процесс.

+8
28 окт. '15 в 9:28
источник

В моем случае мне пришлось убить висячий MSBuild.exe процесс, который блокировал файл (он был там даже после того, как я закрыл Visual Studio).

+6
29 авг. '15 в 11:23
источник

Используется ли какое-либо антивирусное программное обеспечение. Возможно, программное обеспечение AV (или другое программное обеспечение) читало файл с помощью API-интерфейсов сопоставления файлов, которые вызвали проблему.

+5
12 сент. '12 в 14:49
источник

У меня была та же проблема. Перезапуск не работал у меня. В диспетчере задач был запущен процесс под названием VBSCompiler. Мне пришлось закончить процесс, чтобы исправить эту ошибку.

+3
16 мар. '17 в 15:15
источник

Я была такая же проблема. Как я решил это было:

  1. Откройте "Диспетчер задач"
  2. Завершить задачу "Explorer.exe"
  3. Нажмите "Файл" → Создать новое задание - введите "explorer.exe" → ОК
  4. Очистите мой проект, и он работает
+3
30 янв. '19 в 17:52
источник

Ни одно из решений, размещенных здесь, не работало для меня. Это был файл devenv.exe(Visual Studio), блокирующий файл, но если бы я его перезапустил, он бы снова заблокировал его.

Необычно, Windows не позволит мне удалить файлы (в Корзину), но Shift + Delete (постоянное удаление) сработало.

+2
30 мар. '17 в 22:53
источник

Удаление папки obj и восстановление для меня работало

+2
31 авг. '17 в 9:13
источник

Решение для меня заключалось в том, чтобы закрыть все экземпляры VS и убить любые зависающие процессы devenv.exe.

+2
16 дек. '16 в 20:50
источник

Закройте Visual Studio и запустите его как администратор. Это устранило мою проблему.

+2
03 сент. '14 в 12:00
источник

Решением для меня было перезагрузить компьютер.

+1
29 дек. '16 в 15:32
источник

в моем случае удалил папку obj в корне проекта и восстановил проект, решив мою проблему!!!

+1
09 дек. '17 в 10:08
источник

Я видел эти ошибки при создании приложений Dot Net с помощью Ant.

В моем случае это было наше корпоративное программное обеспечение для резервного копирования, Symantec DLO Agent. Остановить его и исключить каталог в моем антивирусном программном обеспечении и закрыть Visual Studio, кажется, работает.

+1
09 сент. '14 в 19:55
источник

Я закрыл все открытые документы в VS и перезапустил VS, потом все заработало.

0
27 мая '19 в 8:38
источник

У меня также появилась такая же ошибка сегодня. Я решил эту проблему, перестроив проект.

0
18 мая '16 в 9:16
источник

У меня была эта ошибка, вызванная тем, что файл "more" и "v" обсуждались в другой консоли. К сожалению.

0
29 нояб. '18 в 15:41
источник

Я столкнулся с этой ошибкой, и оказалось, что проблема была в FxCop для моего проекта. Я закрыл FxCop, а затем снова смог скомпилировать.

0
20 авг. '15 в 16:13
источник

Если это веб-приложение, удаляющее файлы в папке Временные файлы ASP.NET, может быть решением.

0
03 дек. '15 в 12:25
источник

Если вы используете профилировщики, такие как AQ Time, они также могут блокировать файл. Решением в этом случае было бы перезапустить профилировщик или просто выгрузить/загрузить сборку, о которой идет речь, из профилировщика. Для AQ Time я заметил, что он выпустил файл через некоторое время, но я не могу на всю жизнь рассказать, что это за тайм-аут. Кажется случайным

0
22 апр. '16 в 13:33
источник

Моя проблема также была решена путем просеивания через Process Explorer. Однако процесс, который мне пришлось убить, был MySQL Notifier.exe, который все еще работал после закрытия всех приложений VS и SQL.

-1
29 июн. '18 в 15:45
источник

Посмотрите другие вопросы по меткам или Задайте вопрос