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

Ошибка публикации Visual Studio: "Не удается удалить файл... Доступ к пути... запрещен".

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

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

Невозможно удалить файл "OBJ\Debug\Пакет\PackageTmp\Views\ViewName.svn\текстовой базы \ActionName.aspx.svn базы". Доступ к пути 'C:\Code\SolutionName\ProjectName\OBJ\Debug\Пакет\PackageTmp\Views\ViewName.svn\текстовой базы \ActionName.aspx.svn базы' отрицается.

Visual Studio: "Publish failed"

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


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

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

4b9b3361

Ответ 1

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

Это сработало! Опубликовать удалось.

Folder Properties Read-only

Ответ 2

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

  • Откройте проводник и найдите папку c:\code
  • Щелкните правой кнопкой мыши папку c:\code и выберите свойства
  • выберите вкладку безопасности
  • выберите идентификатор пользователя "Пользователи"
  • В поле "Разрешения" отметьте "изменить" разрешить поле
  • Выберите ОК, ОК, пока не появится диалоговое окно с разрешением коробки закрыть

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

Ответ 3

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

Ответ 4

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

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

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

Ответ 5

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

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

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

Ответ 6

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

Ответ 7

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

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

После создания нового сертификата и восстановления - все было в порядке.

Ответ 8

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

Ответ 9

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

Ответ 10

Моя проблема решена после выполнения:

  1. Закройте VS и перезагрузите компьютер.
  2. Обновите все программное обеспечение до последних стабильных версий в пакете Manage Nuget для решения.
  3. Запустите тест сейчас.

Надеюсь это поможет.