Visual Studio извлекает неправильный путь к проекту откуда-то - PullRequest
96 голосов
/ 06 октября 2011

Visual Studio (и, возможно, TFS) каким-то образом (я думаю, возможно, во время слияния управления исходным кодом) запутался в пути проекта в моем решении.

Он думает, что это здесь (пример пути для простоты):

C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj

тогда как на самом деле файл проекта находится здесь:

C:\My Projects\ExampleSolution\ExampleProjectCorrect\ExampleProjectCorrect.csproj

Я не могу на всю жизнь заставить его распознать правильное местоположение. Я пробовал:

  • Удаление и повторное добавление проекта из правильного местоположения. Появляется сообщение об ошибке: The project file at C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj could not be found.

  • Вручную отредактируйте файл .sln, чтобы все ссылки на ExampleProjectCorrect.csproj имели правильные пути.

  • Выполнение поиска в файлах в каталоге решений правильных и неправильных путей, чтобы попытаться отследить, где студия скрывает неправильный путь.

  • Удаление каталогов кеша для VS и TFS

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

Кто-нибудь может указать мне правильное направление относительно того, где он хранит этот неверный путь и / или как сбросить его, чтобы проклятая вещь загрузилась правильно?

Ответы [ 14 ]

93 голосов
/ 12 ноября 2011
  1. Перейти к Управление рабочими областями (либо через меню «Управление файлами / источниками», либо из раскрывающегося списка рабочих областей в «Обозревателе управления источниками»)
  2. выбрать изменить дляваше рабочее пространство.
  3. В рабочих папках вы должны увидеть сопоставление каталога управления исходным кодом со старым / неправильным каталогом проекта.
  4. Выберите его и нажмите удалить .
  5. Закройте VS и удалите файл suo.

Он по-прежнему ссылается на неправильный каталог.Возможно повторное связывание может сработать на этом этапе, но я этого не пробовал.Перезагрузите свой проект, и вы должны быть в порядке.

31 голосов
/ 08 мая 2014

Простое удаление файла решений .suo сработало для меня.

12 голосов
/ 09 октября 2012

Я столкнулся с этой проблемой после выполнения перехода с Visual Source Safe 2005 на TFS 2012. Я не мог дождаться появления «Мастера преобразования» в ближайшие пару недель, поэтому я просто запустил VSSConvert.exe.Это заняло около 6 лет истории и переместило ее в TFS ... в то время как у меня не было реальной истории хронологии ... В тот же день я получил кучу записей с комментариями, указывающими фактическую регистрацию истории.... не плохо.

Так что после того, как он работал всю ночь (успешно, ууу!), у меня возникли проблемы с загрузкой моих проектов, как и был задан этот вопрос.По некоторым причинам несколько проектов ссылались на неправильный каталог.Я проверил файлы .sln, .vsproj и получил последнюю версию, удалив повторное получение, добавив удаление и т. Д. Я перепробовал все, что было отмечено здесь ... даже обновляя свое рабочее пространство, что я не уверен, что это даже сделало.

НАКОНЕЦ ... Я удалил файлы *. Suo и альт.Это сработало.

Я потратил пару часов на это.

5 голосов
/ 14 мая 2014

Несколько иное решение.

TFS отображала несуществующий путь для конкретного решения.Раньше у меня был ноутбук с отдельным диском D :, но теперь у меня просто есть диск C :.TFS все еще думал, что мой проект был сохранен в D: \ Project \ MikesProject

У меня не было .suo файла для удаления, D: путь не был упомянутым где-либо в моемРабочие пространства (скрытые в меню File\Source Control\Advanced\Workspaces), TFS показала, что у меня есть последние файлы в моем (больше не существующем) каталоге D: и у TFS в VS2013 не было опции «Удалить сопоставления» для этогоproject.

Но работа 1012 * заключалась в том, чтобы просто выполнить «Получить последнюю версию» проекта.

После этого была написана свежая копия кода.на мой диск C: и (что интересно) теперь локальный путь был показан подчеркнут .

Ранее путь D: не отображался таким образом.

Странно.Очень странно.

2 голосов
/ 29 июля 2016

Даже после удаления файла .suo и папок .vs мне пришлось отредактировать файл .sln и удалить старый относительный URL из SccProjectName#, несмотря на то, что SccLocalPath# был правильным. Очевидно, VS также использует имя в качестве пути подсказки.

2 голосов
/ 12 ноября 2011

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

1 голос
/ 26 августа 2016

Попробуйте удалить или переименовать файл .suo (включая расширение). Этот файл находится в том же месте, где находится файл вашего решения. У меня это сработало.

0 голосов
/ 12 июня 2019

Для нас сработало еще одно решение - после попытки удалить suo и почти все, что упоминалось в этой теме.У нас был проект в решении, который показывал призрачную версию файла csproj.Мы удалили этот файл, и наши пути были исправлены в другом проекте, который мы пытались добавить.

0 голосов
/ 12 апреля 2018

Если вы запускаете свое веб-приложение под локальным IIS вместо IISExpress, убедитесь, что вы нажимаете кнопку «Создать виртуальный каталог», перейдя в свойствах проекта.После этого выполните «Чистое решение» и «Восстановить решение».

0 голосов
/ 11 сентября 2017

В моем случае я скопировал файл * .sln в папку проекта и изменил путь к проекту в файл * .sln. Только это решило проблему (vs 2015 sp1, проект winservise).

Удалить * .suo мне не помогает.

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