Не удалось скопировать файл

Обновлено: 21.11.2024

Обновление: Пример проекта, воспроизводящего эту ошибку, можно найти здесь, в Microsoft Connect. Я также проверил и подтвердил, что решение, приведенное в принятом ответе ниже, работает в этом примере проекта. Если это решение не работает для вас, возможно, у вас возникла другая проблема (которая относится к отдельному вопросу).

Этот вопрос задавался ранее, как здесь, в Stack Overflow, так и в других местах, но ни одно из предложений, которые я нашел до сих пор, мне не помогло, поэтому мне просто нужно попробовать задать новый вопрос.

Проблема: какое-то время все было хорошо. Затем совершенно неожиданно Visual Studio не удалось собрать, когда я собирался запустить приложение. Я получил предупреждение "Невозможно удалить файл '...bin\Debug\[ProjectName].exe'. Доступ к пути '...bin\Debug\[ProjectName].exe' запрещен." и ошибка "Невозможно скопировать файл 'obj\x86\Debug\[ProjectName].exe' в 'bin\Debug\[ProjectName].exe'. Процесс не может получить доступ к файлу 'bin\Debug\[ProjectName] .exe", потому что он используется другим процессом." (я получаю и предупреждение, и ошибку при запуске Rebuild, но только ошибку при запуске Build - не думаете, что это имеет значение?)

Я прекрасно понимаю, что говорит предупреждение и сообщение об ошибке: Visual Studio явно пытается перезаписать exe-файл, в то же время по какой-то причине он заблокирован. Однако это не помогает мне найти решение проблемы... Единственное, что я нашел работающим, это закрыть Visual Studio и запустить его снова. Затем сборка и запуск работают, пока я не внесу изменения в некоторые формы, затем у меня снова возникает та же проблема, и мне приходится перезапускать… Довольно неприятно!

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

Создание нового чистого решения и просто копирование файлов из старого решения.

Добавление следующего к следующему в событие перед сборкой проекта:

Добавление следующего в свойства проекта (файл .csproj):

Однако ни один из них мне не помог, поэтому вы, вероятно, понимаете, почему я начинаю немного расстраиваться. Я не знаю, где еще искать, поэтому я надеюсь, что у кого-нибудь есть что дать мне! Является ли это ошибкой в ​​​​VS, и если да, то есть ли патч? Или я сделал что-то не так, у меня циклическая ссылка или что-то подобное, и если да, то как я могу узнать?

Любые предложения приветствуются 🙂

Обновление: как упоминалось в комментарии ниже, я также проверил с помощью Process Explorer, что на самом деле блокирует файл это Visual Studio.

Лучшее решение

Это прозвучит глупо, но я испробовал все эти решения, запустив VS2010 в Windows 7. Ни одно из них не сработало, кроме переименования и сборки, что было, мягко говоря, ОЧЕНЬ утомительно. В конце концов, я выследил преступника, и мне трудно в это поверить. Но я использовал следующий код в AssemblyInfo.cs.

Это довольно распространенное явление, но по какой-то причине после изменения версии на 2.0.0.0 все снова заработало. Я не знаю, является ли это особенностью Windows 7 (я использую ее всего 3-4 недели), или случайным образом, или что-то еще, но это исправило это для меня. Я предполагаю, что VS хранил дескриптор каждого файла, который он сгенерировал, поэтому он знал, как увеличивать вещи? Я действительно не уверен и никогда не видел, чтобы это происходило раньше. Но если кто-то еще рвет на себе волосы, попробуйте.

(Невозможно скопировать файл "obj\Debug\Project1.exe" в "bin\Debug\Project1.exe". Процесс не может получить доступ к файлу "bin\Debug\Project1.exe", поскольку он используется другим процессом.)

Поэтому я должен закрыть процесс из диспетчера задач. В моем проекте только одна форма и многопоточность отсутствует.

Какое решение (без перезапуска VS или уничтожения процесса)?

В Tao Framework реализовано множество разных вещей, и любая из них может быть причиной этой проблемы. Какую часть фреймворка вы используете? Кроме того, если бы вы могли создать небольшой образец приложения, демонстрирующий эту проблему, и опубликовать его, это помогло бы отладить его.

37 ответов 37

Это должно сработать.

Перейдите к свойствам вашего проекта. Внутри событий сборки, в командной строке события перед сборкой, добавьте эти две строки кода:

Спасибо, все работает отлично. У меня были проблемы с VS2013 PRO и VS2015 ENT. Это исправление решило проблему.

@Udpate: С тех пор, как я впервые опубликовал этот «ответ», я склоняюсь к другому объяснению проблемы. С тех пор проблема все чаще и чаще случалась и за пределами Visual Studio - при попытке скопировать файл .exe из одной папки в другую. Хотя, во-первых, Windows не позволяла копировать (!) файл .exe (сначала он просил у меня права администратора, но потом все равно отказался его копировать) он все равно отображался в проводнике. Но через некоторое время - без каких-либо дальнейших действий, оно волшебным образом исчезло. Так же, как проблема в вопросе всегда, кажется, решается сама собой через некоторое время. Итак, я предполагаю, что проблема больше связана с задержкой удаления выходного файла проекта, а не с ошибкой VS. Прошу прощения за необоснованные подозрения. :|

Полагаю, это дает поиску решения совершенно другое направление. Нашел эту ссылку и сообщит о любом прогрессе:

Это известная ошибка в VS. Я обнаруживал это очень часто - в основном в VS2010 (с/без SP1). Рекомендуется несколько «решений». Некоторые из них, которые помогли мне:

  1. Удалите файл .suo в папке вашего проекта. В конечном итоге вам потребуется создать все решение с нуля.
  2. Закройте любые конструкторы форм Windows, которые могут остаться открытыми.
  3. Используйте сценарий предварительной сборки, который удаляет цель из выходного каталога.
  4. Отключите процесс размещения VS.

Ни один из них не устраняет ошибку. Но это может вернуть VS в пригодное для использования состояние - до тех пор, пока MS не предоставит истинное решение (если вообще когда-либо).

Отказ от ответственности: когда код приводится для примера - это просто пример.
� См. мой проект браузера BeffsBrowser �
Попробуйте мой новый проект Browser LightBrowse "Браузер и не более того" � Снимок экрана с Imgur API �


Если не указано иное (например, из одного из моих проектов, которые в основном лицензируются MIT) - Все фрагменты кода, которые я публикую на этом сайте, явно лицензируются Creative Commons Attribution 4.0 International Please уважайте мои авторские права.

Присоединение к PowerPoster, сентябрь 2006 г. Местоположение, Египет Сообщений 2580

Присоединиться к Frenzied Member Дата октября 2015 г. Местоположение Индиана Сообщений 1158

Это позволило бы мне удалить все, кроме .exe, сказал, что мне нужно разрешение от имени ПК/имени пользователя, и что странно, это мое имя пользователя ;-; Я был замучен этим с тех пор, как у меня появился этот компьютер, который начал задумываться об этом. Я единственный пользователь на этом компьютере. Это МОЙ компьютер, я должен иметь возможность удалять вещи с МОЕГО компьютера, разочарование превышает часы точки кипения, которые мне пришлось удалить, потому что он выдал кучу ошибок после удаления папки в первый раз.

Я даже пытался починить его.

Отказ от ответственности: когда код приводится для примера - это просто пример.
� См. мой проект браузера BeffsBrowser �
Попробуйте мой новый проект Browser LightBrowse "Браузер и не более того" � Снимок экрана с Imgur API �


Если не указано иное (например, из одного из моих проектов, которые в основном лицензируются MIT) - Все фрагменты кода, которые я публикую на этом сайте, явно лицензируются Creative Commons Attribution 4.0 International Please уважайте мои авторские права.

Присоединение к PowerPoster, сентябрь 2006 г. Местоположение, Египет Сообщений 2580

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

Дата присоединения к PowerPoster: сентябрь 2005 г. Местоположение Модесто, Калифорния. Сообщений 4846

Вы должны удалить "obj" и bin, отладить и выпустить. Иногда есть подпапки, которые нужно сначала удалить. Также попробуйте проверить диспетчер задач и убедиться, что exe не запущен в процессах. Когда ничего не помогает, закройте VS и перезагрузите компьютер. У меня был проект, в котором я не мог решить эту проблему, просто нужно было начать новый проект и добавить элементы.

Присоединиться к Frenzied Member Дата октября 2015 г. Местоположение Индиана Сообщений 1158

Первоначальное сообщение от wes4dbt

Вы должны удалить "obj" и bin, отладить и выпустить. Иногда есть подпапки, которые нужно сначала удалить. Также попробуйте проверить диспетчер задач и убедиться, что exe не запущен в процессах. Когда ничего не помогает, закройте VS и перезагрузите компьютер. У меня был проект, в котором я не мог решить эту проблему, просто нужно было начать новый проект и добавить элементы.

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

Отказ от ответственности: когда код приводится для примера - это просто пример.
� См. мой проект браузера BeffsBrowser �
Попробуйте мой новый проект Browser LightBrowse "Браузер и не более того" � Снимок экрана с Imgur API �


Если не указано иное (например,Таким образом, из одного из моих проектов они в основном лицензируются MIT) - Все советы по фрагментам кода или иным образом, которые я публикую на этом сайте, явно лицензированы в соответствии с Creative Commons Attribution 4.0 International. Пожалуйста, уважайте мои авторские права.

Присоединение к PowerPoster, сентябрь 2006 г. Местоположение, Египет Сообщений 2580

Первоначальное сообщение от jdc20181

Попробуйте стать владельцем:

1- Щелкните правой кнопкой мыши проблемный файл --> Свойства.
2- Выберите вкладку «Безопасность».
3- При необходимости нажмите «Дополнительно», «Владелец» и станьте владельцем.
4- Отметьте свое имя пользователя и разрешите полный доступ.
5- Применить и ОК.
6- Теперь вы можете удалить файл без проблем.

Дата присоединения к PowerPoster: сентябрь 2005 г. Местоположение Модесто, Калифорния. Сообщений 4846

Попробовал ваше предложение, но не решает проблему для меня.

Если вы найдете три решения, отправьте ответ.

Хотя я должен упомянуть свою ошибку, скажем
Предупреждение 2 Не удалось скопировать "obj\x86\Debug\AquaData2014.exe" в "bin\Debug\AquaData2014.exe". Начало повторной попытки 2 за 1000 мс. Процесс не может получить доступ к файлу bin\Debug\AquaData2014.exe, поскольку он используется другим процессом. Аквадата2012

редактировать - я начал думать о сообщении об ошибке, поэтому я подумал, что, возможно, переименование сборки может помочь. Изменено название сборки на "AquaData2017" и бинго. Работает нормально.

Присоединиться к Frenzied Member Дата октября 2015 г. Местоположение Индиана Сообщений 1158

Не уверен, почему возникает ошибка, в моем случае доступ запрещен. Когда я попытался удалить файл .exe из папки bin, он сказал, что доступ запрещен, в общем, я писал о проблемах с ПК.

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

Думаю, я просто скопирую все в новый проект и буду надеяться на лучшее.

Отказ от ответственности: когда код приводится для примера - это просто пример.
� См. мой проект браузера BeffsBrowser �
Попробуйте мой новый проект Browser LightBrowse "Браузер и не более того" � Снимок экрана с Imgur API �


Если не указано иное (например, из одного из моих проектов, которые в основном лицензируются MIT) - Все фрагменты кода, которые я публикую на этом сайте, явно лицензируются Creative Commons Attribution 4.0 International Please уважайте мои авторские права.

Дата присоединения к PowerPoster: сентябрь 2005 г. Местоположение Модесто, Калифорния. Сообщений 4846

Возможно, вы пытались, но вы только что погуглили «Windows 10 не может удалить файл», возможно, это не имеет никакого отношения к VS? Много информации. У меня была подобная проблема, но это оказался плохой жесткий диск. Вы запускали Scandisk.

В этом документе показано, как решить проблему невозможности копирования файлов на флешку в различных ситуациях. Обратитесь к нему, чтобы найти правильные решения, если вы не можете копировать файлы на флешку в Windows.

Автор Bryce / Последнее обновление: 11 марта 2022 г.

Невозможно скопировать файлы на флешку в Windows 7/8/10

Флеш-накопитель, также известный как флэш-накопитель USB, представляет собой разновидность популярного съемного запоминающего устройства, которое можно использовать в личных или профессиональных целях. Однако есть вероятность, что вам не разрешено копировать файлы на флешку после того, как вы вставите ее в свой компьютер. Что делать, если вы столкнулись с такой дилеммой?

Соответствие и эффективные решения в различных ситуациях

На самом деле, флешка или флешка, не сохраняющие файлы в Windows 7/8/10, могут быть вызваны многими факторами, такими как неподходящая файловая система, защита от записи и т.д. Чтобы исправить это быстро и эффективно, в разных ситуациях следует принимать разные меры.

Когда не удается скопировать файлы на флешку, появляется сообщение об ошибке «Диск защищен от записи. Снимите защиту от записи или используйте другой диск». это означает, что вы не можете выполнять какие-либо операции записи на флешку. Для успешного копирования файлов на защищенную от записи флешку необходимо снять с нее защиту от записи. Во-первых, вы можете сдвинуть язычок защиты от записи на флешке в положение разблокировки. Если вы по-прежнему не можете копировать файлы на флешку, воспользуйтесь следующими мерами.

✔ Снимите флажок "Только чтение" для флешки с помощью утилиты Diskpart

Ваш накопитель может быть защищен от записи, так как он был настроен как доступный только для чтения вручную с помощью утилиты Diskpart. Если это так, выполните следующие действия:

<р>1. Откройте окно «Выполнить», одновременно нажав «Windows» + «R».

<р>2.Войдите в интерфейс Diskpart, введя «diskpart» в поле «Выполнить» и нажав клавишу «Enter».

<р>3. В интерфейсе Diskpart выполните следующие команды:

выберите диск n, где n — номер флешки.

атрибуты очистки диска только для чтения

✔ Настройте реестр, чтобы отключить защиту от записи на флешке

Если вы можете копировать файлы на флешку на другом компьютере, мы можем сделать вывод, что сбой при копировании файлов на флешку не связан сам с собой. В это время вы можете попробовать настроить реестр Windows. Выполните следующие действия:

<р>2. Введите «regedit» и нажмите клавишу «Enter», чтобы открыть редактор реестра.

<р>3. В редакторе реестра перейдите по адресу:

✔ Компьютер\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies.

<р>4. Щелкните правой кнопкой мыши WriteProtect и установите для параметра «Значение» значение 0. Затем нажмите «ОК».

Если вы не можете скопировать файлы на флэш-накопитель или флэш-накопитель USB с сообщением об ошибке — файл слишком велик для целевой файловой системы, то есть файловая система флэш-накопителя не подходит для сохраните файл. Как правило, ваш USB-накопитель изначально отформатирован в файловой системе FAT32, что не позволяет сохранять отдельные большие файлы размером более 4 ГБ. Если вам нужно скопировать файл размером более 4 ГБ на флэш-накопитель USB, вы можете изменить файловую систему флешки с FAT32 на NTFS или exFAT.

Вы можете выбрать одну файловую систему по своему усмотрению. Если ваш флеш-накопитель работает только с компьютером Windows, вы можете выбрать NTFS; если вы хотите использовать флэш-накопитель для передачи данных между компьютерами Windows и Mac, exFAT будет правильным выбором. Обратитесь к следующим руководствам о том, как отформатировать флешку в exFAT/NTFS или конвертировать флешку из FAT32 в NTFS без потери данных.

✔ Отформатируйте флешку в exFAT или NTFS в Windows

Чтобы отформатировать флешку в exFAT или NTFS, вам просто нужно открыть проводник, щелкнуть правой кнопкой мыши флешку и выбрать «Форматировать. ». Во всплывающем окне выберите среди перечисленных файловых систем exFAT или NTFS. После этого вы сможете скопировать файл размером более 4 ГБ на флешку.

PS.: Форматирование сотрет все данные на флешке. Таким образом, вы можете сделать резервную копию флешки перед форматированием, если на ней есть важные файлы.

✔ Преобразование флешки из FAT32 в NTFS без потери данных

Если вы хотите использовать флэш-накопитель только в системе Windows и не хотите страдать от проблем с резервным копированием данных. Вы можете преобразовать FAT32 в NTFS для флешки с помощью командной строки. Вот подробные шаги:

<р>1. Введите «Командная строка» в поле поиска и выберите «Запуск от имени администратора» среди перечисленных результатов.

<р>2. В окнах командной строки введите «convert f: /fs:ntfs», где «f» означает букву диска, назначенную разделу на флешке.

<р>3. Нажмите клавишу «Ввод», чтобы начать преобразование.

Конвертировать FAT32 в NTFS без потери данных с помощью командной строки в Windows очень просто. Но не исключено, что в процессе появится ошибка типа «Ошибка преобразования или Том недоступен». Таким образом, вы можете попробовать AOMEI Partition Assistant Standard с графическим пользовательским интерфейсом и мощными функциями. Вы можете использовать его для форматирования флешки в NTFS, exFAT, FAT32, Ext2, Ex3 и Ext4; конвертировать флешку из FAT32 в NTFS или NTFS в FAT32 без потери данных. Вот пошаговое руководство.

<р>1. Установите и запустите его. В главном интерфейсе щелкните раздел флешки и перейдите в «Дополнительно»> «Преобразовать в NTFS».

<р>2. Выбранный раздел будет преобразован в NTFS. Нажмите «ОК».

<р>3. Вернуться к основному интерфейсу. Подтвердите операцию и нажмите «Применить»> «Продолжить», чтобы выполнить ее.

PS.: AOMEI Partition Assistant также может помочь вам преобразовать системный диск MBR в GPT и преобразовать динамический диск в базовый без потери данных, если вы обновите его до версии Professional.

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

<р>1. Введите «netplwiz» в поле «Выполнить» и нажмите «Ввод», чтобы открыть окно настроек учетной записи пользователя.

<р>2. Выберите учетную запись пользователя, которая выдает сообщение об ошибке, и нажмите «Свойства».

<р>3. Во всплывающем окне перейдите в «Членство в группе» > «Администратор». Затем нажмите «ОК».

Если вы не можете скопировать файлы на флешку в Windows 7/8/10 с сообщением об ошибке — вам потребуется предоставить разрешение администратора для копирования в эту папку, вы можете попытаться настроить локальную групповую политику Windows, чтобы исправить эта ошибка. Посмотрите на следующие шаги:

<р>1. Откройте окно «Выполнить», введите «gpedit.msc» и нажмите клавишу Enter, чтобы открыть редактор локальной групповой политики Windows.

<р>2. Во всплывающем окне выберите «Конфигурация компьютера» > «Административный шаблон» > «Система» > «Доступ к съемным носителям».

<р>3. Отключите «Съемные диски: запретить доступ на запись» и «Съемные диски: запретить доступ на выполнение».

Я пытаюсь применить ReShade к «Blockland.exe» с помощью «ReShade Setup.exe», но он отвечает, что не может скопировать файл «Sweet.fx», который существует.
Какой-нибудь способ исправить это или что-то, что я делаю неправильно?

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

Есть ли у вас необходимые права для записи файлов в этом каталоге?
В противном случае просто выполните установку вручную (ознакомьтесь с информацией о том, как это сделать) =)

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

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

При первом запуске вы увидите окно сообщения об отказе от ответственности, а затем информационное сообщение в верхнем левом углу игры о том, что ReShade инициализируется (исчезает через несколько секунд).

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

Это означает, что он почему-то все еще не работает.
Я использую Blockland (через Steam) и связал его с Blockland.exe в папке Steam.
На нем работает OpenGL, и я следовал инструкциям по установке вручную.

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

Вы уверены, что это OpenGL? Википедия говорит мне, что в игре используется игровой движок Torque, который работает на Direct3D9 под Windows.
Кроме того, можете ли вы опубликовать скрин макета вашего каталога? Вы переименовали правильную DLL (вероятно, игра 32-битная, поэтому вам нужна ReShade32.dll)? =)

РЕДАКТИРОВАТЬ: Согласно Steam, он использует OpenGL, хорошо.

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

Я почти уверен, что это OpenGL, в настройках игры указано, что работает OpenGL, а используемая .dll — OpenGL32.dll, и я заменил ее на ReShade32.dll

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

Юп, заметил сразу после публикации, извините. Скриншот папки, в которую был установлен ReShade, все равно было бы неплохо =)

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

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

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

Что произойдет, если вы переместите ReShade в «базовую» папку?
Кроме того, попробуйте другие имена DLL, d3d9.dll, dxgi.dll и т. д.

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

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

После некоторого тестирования мы выяснили, что оно не работает из-за приложения Razer Cortex, работающего в фоновом режиме, которое по какой-то причине блокирует ReShade.

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

Я пытаюсь применить ReShade к «Blockland.exe» с помощью «ReShade Setup.exe», но он отвечает, что не может скопировать файл «Sweet.fx», который существует.
Какой-нибудь способ исправить это или что-то, что я делаю неправильно?

Если: "Не удалось скопировать файл ReShade32.dll" (или ReShade.fx) — попробуйте:

Это больше не актуально, но:

Просто попробуйте запустить "ReShade Setup.exe" (и только этот единственный файл) из любой другой папки (т.е. не из папки с игрой напрямую) — и все заработало

* "ReShade Setup.exe" — в последующих версиях программы это отдельная и независимая программа и единственный файл, так что возможно он там тоже есть — так что будет корректно работать из любого места (а не только из папку с игрой)

Читайте также: