Мне нужен обходной путь для Resharper, когда он говорит «Не удалось изменить документы». Кто-нибудь знает, почему он это делает и как это обойти?

79

За последние месяцы я несколько раз замечал, что иногда использую маленький значок желтой лампочки, щелкаю его правой кнопкой мыши и выбираю вариант, чтобы исправить что-то для меня, а затем он просто выделяет то, что он собирался исправить, и всплывает сообщение с надписью «Не удалось изменить документы».

У кого-нибудь была эта проблема?
Вы знаете, как это преодолеть?
Как будто resharper думает, что документ доступен только для чтения или что-то в этом роде, хотя я могу вручную редактировать документ.

Кертис
источник
1
Вы используете Git для управления версиями? Какой клиент Git вы используете?
Джон Сондерс
Да. Я использую GIT. Я использую клиент TFS Microsoft.
Curtis
1
Для меня это произошло, когда я делал тестовый проект. Проблема заключалась в том, что корневой каталог для git был настроен для C: \ Source, а тестовый проект был создан в "C: \ users \ <userName>" \ Documents \ Visual Studio 2013 \ Projects ", который является путем по умолчанию для VS 2013 для создания новых проектов. Очевидно, путь создания проекта по умолчанию для VS не находится внутри корневого каталога системы управления исходным кодом git, поэтому git не может отслеживать файлы как Статус "неотслеживаемый", который приводит к этой проблеме редактирования. Когда я переместил свою папку тестового проекта в корень git, проблема была решена мгновенно
RBT
1
Перезапуск Visual Studio обычно помогает мне
Робби Ди

Ответы:

28

У меня была такая же проблема с Visual Studio 2013.
Решением было добавить проект в систему контроля версий (в моем случае - git).

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

Сани Сингх Хуттунен
источник
2
Иногда это происходит, когда вы добавляете новые проекты в каталог, который не рассматривается VS (или, точнее, подключаемым модулем MS GIT), как в системе управления версиями GIT, в то время как другие проекты. Это было причиной в моем случае. Перемещение каталога проекта ниже папки решений помогло
Марек
Мне нравится решение с отключением плагина управления версиями Visual Studio, поскольку это более распространенный случай. Если проект добавлен в систему контроля версий, проблем нет. Но если плагин управления версиями включен, а код не добавлен в репо, возникает эта проблема. Поэтому для меня более логично просто отключить плагин управления версиями.
Roboblob 02
174

Отключите подключаемый модуль системы управления версиями Visual Studio.

  1. Инструменты -> Параметры -> Контроль версий
  2. Измените «Текущий подключаемый модуль управления версиями» с «Поставщик Microsoft Git» на «Нет».
Сорен Гёрц Олесен
источник
10
Что произойдет, если вы захотите его использовать? Полагаю, принятый ответ подойдет? Пока это в исходном коде (GIT), это не имеет значения?
bdwakefield 03
2
Благодаря! Мне также пришлось перезапустить визуальную студию, чтобы исправление работало.
Karle
2
Если ваш проект использует Git, вы не можете изменить поставщика системы управления версиями. Однако проблема возникает только в файлах без поддержки версий; поэтому используйте клиент git (например, TortoiseGit), чтобы добавить эти файлы. Обратите внимание, что при переименовании файла в Visual Studio не происходит автоматического восстановления / отмены добавления старого имени и добавления нового, поэтому вам придется снова обойти Visual Studio, чтобы вернуть рабочую среду.
Застай
У меня тоже сработало. Невероятно, что это исправление. То, что я должен отключить в VS2015, чтобы заставить его работать должным образом, невероятно !!!
Martijn B
4

Уловка для меня заключалась в выгрузке и перезагрузке проекта, в котором находится файл, который не удалось отредактировать. (Просто щелкните проект правой кнопкой мыши и выберите «Выгрузить проект» из контекстного меню.

Джонатан Перри
источник
1

Я запустил VS 2013 как администратор и открыл проект, и теперь он работает нормально.

xszaboj
источник
0

Позвольте мне вмешаться немного позже:

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

Я не могу объяснить, как это решило это, однако это случилось со мной в совершенно новом репозитории git. Я уже несколько месяцев использую Git и VS в другом репозитории, где изначально был файл .gitignore, и ни у меня, ни у кого-либо из моей команды раньше не было этой проблемы.

Seta
источник
0

Смена «Microsoft Git Provider» сработала, но мне нужно было постоянное решение.

Я уже использовал GIT, и все материалы ReSharper были в моем .gitignore. Я использовал VS 2015. Когда я обновился до последней версии ReSharper 2017.1.3, эта проблема стала возникать.

Я сделал резервную копию моей папки решения (назвал ее «repo_backup»), а затем клонировал свое репо прямо из git. Все снова заработало как обычно. Я скопировал свои изменения в новое повторно клонированное репо, удалил repo_backup и продолжил свой путь.

DrCJones
источник