Как переместить файл проекта Visual Studio (.sln) - PullRequest
43 голосов
/ 09 марта 2009

Я хочу переместить файл решения Visual Studio (myProject.sln) в папку.

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

Спасибо.

Ответы [ 5 ]

78 голосов
/ 09 марта 2009

Просто нажмите на решение в обозревателе решений, а затем выберите «Сохранить myProject.sln как ...» в меню «Файл». Это сохранит ваш файл .sln в выбранной вами папке, не прерывая ссылки.

4 голосов
/ 28 февраля 2013

Для завершения решения jrummell: после редактирования файла * .sln с помощью nodepadd вам, безусловно, придется удалить файлы * .suo, содержащие устаревший кеш.

Обратите внимание, что * .suo файлы являются скрытыми файлами в Windows 7 (поэтому по умолчанию вы не видите его в проводнике).

4 голосов
/ 09 марта 2009

откройте файл .sln внутри блокнота или аналогичного файла, рядом с вершиной у него есть относительный базовый путь - измените его в соответствии с вашими потребностями.

3 голосов
/ 09 августа 2015

С контролем источника это немного сложно. Мне просто нужно было переместить мое решение .sln файл на один уровень вверх для легкого доступа при сохранении истории управления исходным кодом. Я последовал совету предыдущих постов, но столкнулся с ситуацией, когда TFS захотела перенести все мои проекты с помощью решения. Я выполнил эту задачу, используя комбинацию со следующими шагами:

  1. Убедитесь, что решение не открыто.
  2. Отключить решение от локального диска.
  3. Щелкните правой кнопкой мыши Solution (.sln) в Source Control Explorer и выберите Move as. упомянутое выше. Установите путь к новой папке и выберите ОК.
  4. Отметьте это изменение.
  5. Оформить заказ решения .sln и затем отредактируйте решение в блокноте. Вы увидите, что проектам назначены направляющие и есть пути к файлам для проектов. Вам нужно изменить все эти пути относительно того, где находится ваш новый файл решения .sln. Обязательно используйте двойную косую черту для уникальных имен и путей:

GlobalSection(TeamFoundationVersionControl) = preSolution

SccProjectUniqueName1 = MyNewFolder\\MyProject.Common\\MyProject.Common.csproj

SccProjectTopLevelParentUniqueName1 = MySolution.sln

SccProjectName1 = MyNewfolder/MyProject.Common 
SccLocalPath1 = MyNewFolder\\MyProject.Common

Регистрация и повторное сопоставление решения с локальным диском. Это сработало для меня. Надеюсь, это поможет!

0 голосов
/ 09 марта 2009

Вы можете обновить относительные пути к каждому проекту в текстовом редакторе.

...