Переименование папки проекта в VS.net под TFS

У меня есть проект vs.net, и после некоторого рефакторинга я изменил имя проекта. Как я могу легко переименовать имя базовой папки Windows, чтобы оно соответствовало этому новому имени проекта в проекте и решении, контролируемом TFS?
Обратите внимание, что раньше я мог делать это, возясь с вещами в фоновом режиме с помощью SourceSafe ...


person Bermo    schedule 08.09.2008    source источник
comment
Запрос функции Visual Studio: visualstudio .uservoice.com / forum / 121579-visual-studio / идите и голосуйте! :-)   -  person Tim Abell    schedule 24.05.2014


Ответы (6)


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

И последнее замечание: вы не можете переименовать папку, которую вы не сопоставили или которую не выполнили «Получить». Я не знаю почему, но в этих случаях TFS отключит параметр «Переименовать».

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

person Dan Shield    schedule 08.09.2008

  1. Зарегистрируйте все ожидающие изменения в папке и убедитесь, что все остальные участники группы поступают так же.
  2. Убедитесь, что у вас есть копия папки в вашем рабочем каталоге (в противном случае у вас не будет возможности переименовать папку в Source Control Explorer на следующем шаге). Загрузите последнюю версию в папку, чтобы получить копию, если у вас ее еще нет.
  3. Закройте решение.
  4. Переименуйте папку в Source Control Explorer. Это переместит все файлы, которые отслеживаются в системе управления версиями, из исходной папки в вашей файловой системе в новую. Обратите внимание, что файлы, не отслеживаемые системой управления версиями, останутся в исходной папке - вы, вероятно, захотите удалить эту папку, как только убедитесь, что там нет нужных вам файлов.
  5. Откройте решение и выберите «No», когда будет предложено получить проекты, которые были недавно добавлены в решение из системы управления версиями. Вы получите предупреждение о том, что не удалось загрузить один из проектов в решении.
  6. Выберите проект в Обозревателе решений.
    # P1 #
  7. Откройте панель Свойства.
  8. Измените свойство "Путь к файлу" напрямую или с помощью кнопки "...".
    # P2 #
  9. Щелкните правой кнопкой мыши проект в Solution Explore r и выберите Перезагрузить проект в контекстном меню. Если вы получаете сообщение об ошибке, в котором говорится, что проект не может быть загружен из исходной папки, попробуйте закрыть решение, удалив файл suo в той же папке, что и файл решения, а затем повторно откройте решение.
  10. Зарегистрируйте изменения как единый набор изменений.
  11. Попросите других членов группы «Получить последнюю версию» решения (щелкните решение правой кнопкой мыши в Обозревателе решений и выберите «Получить последнюю версию» в контекстном меню.

Примечание. Другие предлагаемые решения, включающие удаление и повторное добавление проекта в решение, нарушат ссылки на проект.

Если вы выполните эти шаги, вы также можете подумать о переименовании следующего в соответствии с требованиями.

  1. Файл проекта
  2. По умолчанию / корневое пространство имен
  3. сборка

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

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute
person Scott Munro    schedule 01.06.2012
comment
+1 Совершенно идеальное решение. Я также удалил старую папку, так как она больше не нужна. - person Sir Crispalot; 11.04.2013
comment
+1 Сработало отлично! В VS 2012 мне пришлось закрыть решение после перезагрузки проектов (шаг 9), чтобы обеспечить правильную сборку решения. - person Adam47; 12.08.2014
comment
Примечание для пользователей VS 2012: File Path на шаге 8 нельзя редактировать. После шага 5 снова закройте раствор. Найдите файл .sln, удалите атрибут «только для чтения» и вручную отредактируйте путь к проекту (ближе к началу файла). Сохраните файл (оставьте атрибут только для чтения отключенным), повторно откройте решение и продолжите с шага 10. - person Cᴏʀʏ; 04.05.2015
comment
если у вас есть проблемы с SQL-Error 50000, сначала создайте новую папку, а затем переместите содержимое из старой в новую папку - person gReX; 07.10.2015
comment
Удаление файла suo было той частью, которую мне не хватало! Мне казалось, что я схожу с ума, этот ответ избавил меня от головной боли. - person Jakub Januszkiewicz; 25.01.2016
comment
Редактирование пути к файлу отлично работает в VS2015. MS, должно быть, восстановила эту функцию - person Timothy Klenke; 28.04.2016
comment
Переименуйте папку в TFS всего за 17 простых шагов! :-) - person ; 11.05.2016
comment
@TimothyKlenke Я не вижу такой возможности в 2015 году. - person Joel McBeth; 17.01.2017
comment
@TimothyKlenke Я исправлюсь, кнопка просмотра в 2015 году отображается только тогда, когда вы устанавливаете фокус на поле Путь к файлу. - person Joel McBeth; 02.02.2017
comment
Если есть ссылка на файл из другого проекта (скажем, B) на файл в переименованном проекте, эту ссылку также необходимо обновить. (Выгрузите B, отредактируйте файл csproj, перезагрузите B). - person MBWise; 20.04.2017
comment
В VS 2017 это почти сработало. Вы не можете редактировать путь в свойствах, но вы можете изменить путь в файле .csproj и принять перезагрузку в VS. Кроме того, после этого закройте VS и удалите файл .suo. Как бы странно это ни звучало, особенно если у вас есть несколько решений, ссылающихся на .csproj, для меня VS было что-то в этом файле решения .suo, которое кэшировало старое имя пути. - person paultechguy; 05.04.2018

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

person Mr. Kraus    schedule 08.09.2008

Вот шаги, которые у меня сработали в Visual Studio 2008 с TFS:

  1. Близкий раствор.
  2. Переименуйте папки проекта в Source Control Explorer (щелкните правой кнопкой мыши -> переименовать). Это дублирует код во вновь названные папки.
  3. Откройте решение и в обозревателе решений удалите старые папки / проекты и добавьте новые, должным образом названные дубликаты (в старых проектах щелкните правой кнопкой мыши -> удалить, затем в решении щелкните правой кнопкой мыши-> Добавить-> Существующий проект ...)

ИЛИ: После шага 2 вы можете открыть файл .sln решения в текстовом редакторе и вручную обновить имена папок проекта. Если вы это сделаете, вам может потребоваться вручную извлечь файл .sln, чтобы убедиться, что ваши изменения будут зарегистрированы (‹- важно!).

person Community    schedule 18.12.2008

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

  1. Удалить проект в папке, которую нужно переименовать из решения
  2. Сохранить решение
  3. Переименовать папку, содержащую удаленный проект, в системе управления версиями TFS (переименовывается локально на жестком диске)
  4. Добавить проект обратно в решение из нового места
  5. Сохранить решение
  6. Принять к исходному контролю

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

person ozziepeeps    schedule 01.09.2011

Для Visual Studio 2019 и ASP.NET Core 2.2 мне пришлось немного изменить ответ Скотта Манро. Вот что у меня сработало:

Перед тем, как начать: проверьте все изменения и сделайте резервную копию своего решения.

  1. Переименуйте проект с помощью Обозревателя решений (т. Е. Щелкните проект правой кнопкой мыши и выберите "Переименовать").
  2. Переименуйте папку проекта в Source Control Explorer.
  3. Откройте файл .sln своего решения в текстовом редакторе и исправьте путь к файлу. (Замените любые ссылки на «OldProjectName» на «NewProjectName»).
  4. Перезагрузите свое решение в Visual Studio.
  5. Найдите и замените все старые пространства имен новым именем проекта.
  6. Сделанный. Зарегистрируйте изменения.

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

person Daniel Congrove    schedule 17.02.2020