Переименование содержащейся папки проекта в VS.net под TFS - PullRequest
61 голосов
/ 08 сентября 2008

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

Ответы [ 5 ]

159 голосов
/ 01 июня 2012
  1. Установите все ожидающие изменения в папке и убедитесь, что все остальные члены команды поступят так же.
  2. Убедитесь, что у вас есть копия папки в рабочем каталоге (в противном случае у вас не будет возможности переименовать папку в Source Control Explorer на следующем шаге). Загрузите в папку последнюю версию , чтобы получить копию, если у вас ее еще нет.
  3. Закрыть решение .
  4. Переименуйте папку в Обозревателе контроля источника . Это переместит все файлы, которые отслеживаются в системе контроля версий, из исходной папки вашей файловой системы в новую. Обратите внимание, что файлы, не отслеживаемые системой контроля версий, останутся в исходной папке - возможно, вы захотите удалить эту папку, как только подтвердите, что там нет нужных вам файлов.
  5. Откройте решение и выберите «No», когда будет предложено получить проекты, которые были недавно добавлены в решение, из системы контроля версий. Вы получите предупреждение о том, что не удалось загрузить один из проектов в решении.
  6. Выберите проект в пределах Solution Explorer .

    Обратите внимание, что оно будет выделено серым цветом и помечено как «Недоступно» .

  7. Откройте панель Свойства .
  8. Измените свойство 'Путь к файлу' либо напрямую, либо с помощью кнопки '...'.

    Обратите внимание, что это свойство доступно только для редактирования в Visual Studio 2010 . В более новых версиях Visual Studio вам нужно будет вручную редактировать пути проекта в файле решения.

  9. Щелкните правой кнопкой мыши проект в Solution Исследуйте r и выберите Обновить проект из контекстного меню. Если вы получаете сообщение об ошибке, в котором говорится, что проект не может быть загружен из исходной папки, попробуйте закрыть решение, удалив файл suo в той же папке, что и файл решения, а затем снова открыв решение.
  10. Регистрация изменений как единого набора изменений.
  11. Попросите других членов команды «Получить последнюю версию» для решения (щелкните правой кнопкой мыши решение в Solution Explorer и выберите «Получить последнюю версию» в контекстном меню.

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

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

  1. Файл проекта
  2. Default / Root Namespace
  3. Монтаж

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

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute
17 голосов
/ 08 сентября 2008

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

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

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

1 голос
/ 01 сентября 2011

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

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

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

1 голос
/ 19 декабря 2008

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

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

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

1 голос
/ 08 сентября 2008

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

...