Arhn - архитектура программирования

Доступ к пути запрещен VS 2017 Невозможно скопировать файл

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

Доступ к пути function.json запрещен

а затем, после еще нескольких попыток сборки и очистки решения, я получаю массу ошибок MSB3021, в которых говорится:

Не удалось скопировать файл "localfilepath.dll" в "bin\Debug...\file.dll"

У меня есть коллега, который может нормально получить доступ к репозиторию на своей машине, и все строится нормально. Не уверен, связано ли это, но это проект с 2 проектами функций Azure и 1 проектом библиотеки классов. Остальные мои локальные репозитории прекрасно работают при сборке и перестройке.

Что я пробовал:

  • Закрытие всех экземпляров Visual Studio и повторное открытие проекта (ничего не меняется)
  • Перезагружаю компьютер (я могу успешно выполнить сборку в первый раз, когда открываю проект, но не во второй раз. Именно тогда я снова получаю все ошибки)
  • Удаление репо локально с моей машины и получение новой копии с github (воспроизводятся точно такие же проблемы)

  • Звучит так, как будто ваше приложение все еще работает после вашей первой сборки. Проверьте окна браузера или, возможно, IIS (экспресс), чтобы увидеть, есть ли еще работающее приложение. 07.11.2017
  • @oerkelens Я действительно задавался вопросом, может ли это происходить, но когда я проверил, что IIS не работает 07.11.2017
  • Когда вы пытаетесь построить, какую кнопку вы нажимаете? Сборка, IIS Express (запуск) или публикация? 07.11.2017
  • @nurdyguy Сборка. Но я пробовал все альтернативы с теми же результатами. 07.11.2017
  • Если вы перезапустите свой бокс, соберете один раз (успешно), а затем попытаетесь собрать снова, произойдет сбой? Даже если вы ничего не делали между сборками? Как насчет сборки-чистки-сборки? 07.11.2017
  • @nurdyguy Да, вторичные сборки терпят неудачу, хотя между сборками ничего не происходит, и то же самое происходит для сборки-чистки-сборки. 07.11.2017
  • Ну, это действительно похоже на проблему с IIS, но это не объясняет, почему он не работает, даже если вы не подключались к IIS. Когда вы запускаете, вы обычно подключаетесь к локальному хосту (IIS Express) или к пулу IIS? 07.11.2017
  • Вы запускаете VS от имени администратора? 07.11.2017
  • @nurdyguy Да, я работаю от имени администратора. Надеялся, что это тоже может быть исправлением. Что-то шаткое происходит с процессами. Когда я запускаю свой компьютер заново, я могу удалить папки bin, но после того, как я загружусь и попытаюсь собрать, у меня больше не будет доступа для их удаления, хотя я являюсь администратором. Даже после закрытия визуальной студии я не могу, пока снова не перезагружу компьютер. 08.11.2017
  • IIS иногда вызывает подобные вещи, зависая от файла в развертывании даже после завершения процесса. Извините, это все, о чем я могу думать. 08.11.2017
  • Вы когда-нибудь находили решение этой проблемы? Я также испытываю такое же поведение: невозможно скопировать файл obj\Debug... в bin\Debug.... Отказано в доступе к пути bin\Debug\net47\.... Первая перезагрузка разрешает сборку, вторая сборка терпит неудачу - каждый раз! 13.07.2018
  • @pieperu Если я правильно помню, на следующей неделе я получил новый компьютер, и мне пришлось перезагрузить все из репозитория, и он работал нормально. Я предполагаю, что стирание вашей файловой структуры и извлечение ее обратно из вашего репо может быть еще одним вариантом, чтобы увидеть, обновляет ли это что-то. 13.07.2018
  • Вы помещаете свой проект в папку Dropbox или любую другую папку автоматической синхронизации? 12.03.2020

Ответы:


1

Как решить проблему

Один из самых простых способов справиться с заблокированными файлами или папками — использовать Microsoft Sysinternals Обозреватель процессов.

Используя Process Explorer, есть простой способ узнать, какая программа использует файл.

Откройте обозреватель процессов

Запуск от имени администратора.

На панели инструментов найдите значок «прицел» справа.

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

Исполняемый файл, использующий файл, будет выделен в основном списке отображения Process Explorer.


ИЛИ

Откройте Process Explorer, работающий от имени администратора.

Введите сочетание клавиш Ctrl + F или щелкните меню «Найти» и выберите «Найти дескриптор или DLL», после чего откроется диалоговое окно поиска.

Введите имя заблокированного файла или другого интересующего файла.

функция.json

Частичных имен обычно достаточно.

Нажмите кнопку «Искать» и будет сформирован список, может быть несколько записей.


Чтобы снять блокировку с файла, над которым вы пытаетесь выполнить операцию обслуживания, вам нужно будет завершить соответствующий процесс. Отдельную программу или дескриптор в списке, предоставляемом Process Explorer, можно убить, выбрав запись процесса/дескриптора/программы и нажав «Удалить», чтобы завершить процесс.

введите здесь описание изображения

https://docs.microsoft.com/en-gb/archive/blogs/markrussinovich/the-case-of-the-mysterious-locked-file

13.03.2020
  • Собственно, в моем случае это был BitDefender. Он обнаруживал вирус в exe-файле каждый раз, когда я собирал решение. 13.03.2020
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..