Visual Studio извлекает неправильный путь к проекту откуда-то

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 проектов и привязано к исходному контролю с несколькими другими разработчиками, работающими над ним.

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

Ответ 1

  • Перейдите в "Управление рабочими пространствами" (либо в меню "Управление файлами/источниками", либо в рабочей области в проводнике исходного кода).
  • выберите править для своей рабочей области.
  • В рабочих папках вы должны увидеть сопоставление для источника управляйте каталогом в старый/неправильный каталог проекта.
  • Выберите его и нажмите "Удалить".
  • Закройте VS и удалите файл suo.

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

Ответ 2

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

Ответ 3

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

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

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

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

Ответ 4

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

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

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

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

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

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

Нечетный. Очень странно.

Ответ 5

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

Ответ 6

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

Ответ 7

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

Ответ 8

Просто гадать, но, возможно, некоторые из ваших других проектов ссылаются на ваш проект из неправильного местоположения? В этом случае вам не нужно просто удалять и повторно вставлять проект в ваше решение, вам также придется удалять и воссоздавать ссылки из проектов ссылок (хранящихся в их файлах .csproj).

Ответ 9

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

Ответ 10

У меня появилось мое решение для веб-сайта asp.net, открытое из моего ветки Dev. Затем для какой-то другой цели я открыл одно и то же решение из главного ветки.

Я внес изменения в один из моих файлов .ascx.cs в ветки dev и установил точку останова. Когда я запустил отладчик, все мои точки останова попали в ветку Dev, за исключением .ascx.cs, который попадал в главный ветвь. Не знаю.

Пробовал очистить временную папку, но не работал.

Что работало:

Закрыто все экземпляры Visual Studio

снова открыли решение из ветки Dev.

Запустите снова, и точки останова начали бить.

Ответ 11

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

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

Ответ 12

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

Ответ 13

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

Ответ 14

Я знаю, что это старая строка. Я просто пережил ту же проблему. Недавно мы перенесли TFS, поэтому я создал новое рабочее пространство для отображения на новый сервер и сохранил старый. Каждый раз, когда я открываю решение, которое должно быть нацелено на мое новое рабочее пространство, VS всегда пытался загрузить проекты из моего старого каталога сопоставления, пока я не удалил старую рабочую область.