Ошибка публикации Visual Studio: «Невозможно удалить файл ... Доступ к пути ... запрещен». - PullRequest
20 голосов
/ 02 сентября 2010

Я недавно переключился с компьютера с Windows XP на Windows 7. Я использую Subversion и TortoiseSVN.

Я не могу опубликовать свое приложение .NET в Visual Studio.Я получаю более тысячи ошибок, таких как:

Невозможно удалить файл "obj \ Debug \ Package \ PackageTmp \ Views \ ViewName.svn \ text-base \ ActionName.aspx.svn-base".Доступ к пути 'C: \ Code \ SolutionName \ ProjectName \ obj \ Debug \ Package \ PackageTmp \ Views \ ViewName.svn \ text-base \ ActionName.aspx.svn-base' запрещен.

Visual Studio:

Почему Subversion доставляет мне неприятности?Как это исправить?


Я отключил индексацию файлов в папках bin и obj.Но это не сработало.

Allow files in this folder to have contents indexed in addition to file properties

Ответы [ 9 ]

34 голосов
/ 02 сентября 2010

Я заметил, что мои папки доступны только для чтения.Я изменил это.

Это сработало!Публикация выполнена успешно.

Folder Properties Read-only

4 голосов
/ 02 сентября 2010

Я полагаю, что ваша проблема связана с разрешениями по умолчанию, назначенными диску C: в Windows 7 (и Vista).

  1. Откройте проводник и найдите папку c: \ code
  2. Щелкните правой кнопкой мыши папку c: \ code и выберите свойства
  3. , выберите вкладку безопасности
  4. , выберите идентификатор пользователя «Пользователи»
  5. В поле разрешений установите флажок«изменить» поле разрешения
  6. Выберите ОК, ОК, пока диалоговые окна разрешения не закроются

Это должно решить проблему с разрешениями

3 голосов
/ 10 ноября 2010

У меня была такая же проблема, и ни одно из предыдущих решений не сработало. Что мне помогло, так это вынуть папки bin и obj из репозитория. После этого я смог опубликовать.

2 голосов
/ 02 сентября 2010

Наиболее вероятная причина - проблема с разрешениями. Возможно, рассматриваемый путь был создан, когда вы работали с повышенными разрешениями, и, следовательно, для удаления требуются права администратора. Попробуйте запустить Visual Studio с правами администратора и посмотрите, исчезнет ли проблема.

Если это так, то лучшим решением будет сделать следующее

  1. Сохранить изменения в этом каталоге (отметьте при необходимости)
  2. Удалить хранилище
  3. Перепроверьте репозиторий и убедитесь, что вы не работаете в качестве администратора, при этом
1 голос
/ 29 июня 2016

Как ни странно, я пытался создать старый проект с помощью Visual Studio 2010. Он выдал ошибку, которая не удалась из-за отказа в доступе.Я попытался удалить доступный только для чтения из каталога, но безуспешно.

Хотя, когда я открыл его в Visual Studio 2015, он выдал ошибку, что мой сертификат истек.После создания нового сертификата и восстановления - все было хорошо.

1 голос
/ 15 мая 2012

Я просто удалил существующие папки в месте публикации, что позволило публикации работать. Отмена установки только для чтения, похоже, не сработала. (Не уверен, почему это начало происходить).

1 голос
/ 20 января 2011

Что на самом деле работает, это решение, которое дал Зак Петерсон? Спасибо Зак!

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

  • Как только я изменил папку на НЕ be Только для чтения , я смог программно удалить файлы и папки.
  • Мой следующий шаг - программно установить атрибут НЕ Только для чтения , чтобы я мог выполнить всю установку одним нажатием кнопки.
0 голосов
/ 06 ноября 2017

Для меня служба Windows работала в фоновом режиме.закрытие службы из диспетчера задач, а затем перестройка проекта сделали эту работу за меня.

0 голосов
/ 31 октября 2016

Если вам отказано в доступе к какой-либо конкретной папке, то она используется другим приложением. Проверьте, использует ли этот путь любое другое приложение для ссылки на эту папку любого файла в этой папке.В моем случае мое приложение ссылалось на файл внутри папки bin.Поэтому каждый раз, когда я публикую и удаляю старый.Будет сброшено сообщение о том, что папку bin нельзя удалить.доступ закрыт.я пошел в моем заявлении.проверил в пути refllced каждого dll, удалил те, которые ссылались на путь публикации, и проблема BOOM решена.

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