Невозможно скопировать файл, доступ к пути запрещен - PullRequest
218 голосов
/ 20 августа 2011

Я использую Visual Studio 2005 после получения кода из системы контроля версий. Сначала правильно запускаю приложение c # .net, но после внесения некоторых изменений при сборке я получаю ошибку, подобную этой.

Ошибка 383 Не удается скопировать файл ".. \ root \ leaf \ Bin \ Debug \ test.Resources.xml" в "Bin \ Debug \ test.Resources.xml". Доступ к пути Bin \ Debug \ test.Resources.xml отказано. li.rollmodel

Кто-нибудь знает, почему возникает эта проблема?

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

Сначала любое тело скажет мне, как удалить свойство «Только чтение» для папки, которую я удалил, но, тем не менее, показывает, что это свойство я пробовал также со стороны контроля версий, но тот же эффект.

Ответы [ 39 ]

263 голосов
/ 06 апреля 2012

Я решил эту проблему, удалив спорные файлы из папки bin и перестроив проект.

117 голосов
/ 16 июля 2014

Просто убедитесь, что папка НЕ ​​доступна только для чтения, и перестройте решение

68 голосов
/ 18 апреля 2013

Я решил эту проблему: Закройте Visual Studio, снова откройте его и загрузите решение. Перестройте решение. Моя проблема возникла при использовании TFS и VIsual Studio 2010.

45 голосов
/ 15 августа 2017

Убить процесс VBCSCompiler.exe и перестроить.

22 голосов
/ 09 июля 2012

Я тоже столкнулся с этой проблемой.

Сначала зайдите и проверьте, сопоставили ли вы папку bin и obj с программой Source Control.

Это может быть поворот ваших файлов из папок binariesв архивы только для чтения, которые не позволяют Visual Studio перезаписать их при компиляции кода.

Перейдите и удалите сопоставление из этих папок, проверьте изменения и попробуйте снова.

Моя проблемапроизошло с использованием TFS (Team Foundation server) и Visual Studio 2010.

Надеюсь, это кому-нибудь поможет.

18 голосов
/ 26 июня 2013

Запустите Visual Studio от имени администратора

8 голосов
/ 31 июля 2015

Я использую Visual Studio 2013. Я сталкивался с этой проблемой 2 раза:

  1. В первый раз я запускал Visual Studio без прав администратора. Итак, я закрыл VS и запустил его, используя опцию « Запуск от имени администратора ». Это решило мою проблему.

  2. Во второй раз я перезагружал VS много раз, каждый раз проверяя, запущен ли он как администратор. Также я много раз перестраивал решение. Но, несмотря на это, я получал ошибку. После этого я удалил соответствующий файл из целевого местоположения (возможно, файл уже был из предыдущей сборки в том месте, куда он пытается скопировать) и пересобрал решение, После этого ошибка ушла и все прошло гладко!

7 голосов
/ 17 декабря 2016

В моем случае это был антивирус, который заблокировал файл.

7 голосов
/ 06 апреля 2017

Это снова подняло голову в Visual Studio 2017, в данном случае причиной является процесс Application Insights ServiceHub.DataWarehouseHost.exe.

В потоке обсуждается обходной путь Предупреждение MSB3026:Не удалось скопировать «obj \ Debug \ netcoreapp1.1 \ src.pdb» в «bin \ Debug \ netcoreapp1.1 \ src.pdb» , то есть добавить событие предварительной сборки в проект, чтобы убить процесскаждый раз, когда проект построен.Цитирование по этой ссылке:

  • Щелкните правой кнопкой мыши свойства проекта
  • Выберите свойства
  • События сборки
  • Командная строка события перед сборкой
taskkill /IM ServiceHub.DataWarehouseHost.exe /F 2>nul 1>nul
Exit 0
  • Сохранение и сборка
6 голосов
/ 20 августа 2011

Кто-нибудь может узнать, почему возникла эта проблема?

Глядя на ваш ответ, что вы решили свою проблему путем ручного копирования, я бы сказал, что код, над которым вы работали, был создандругим пользователем (тоже с правами администратора), поэтому он был заблокирован для вас.Выполняя копию -?вставить, вы сделали свою СОБСТВЕННУЮ копию источника со всеми необходимыми вам правами доступа.Единственное, на что следует обратить внимание, это то, что в этом случае, если этот другой разработчик должен будет работать над вашей копией, он / она перейдет к той же самой проблеме, с которой вы столкнулись раньше.

...