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