Обновление определений построений на ответвленных командных проектах
Обновлен: Ноябрь 2007
Разветвление Team Foundation (подсистема контроля версий) копирует все папки и файлы, включая папку TeamBuildTypes, из предыдущей ветви в конечную ветвь. Дополнительные сведения см. в разделе Ветвление и слияние в системе управления версиями Team Foundation. Существует два сценария разветвления, которые влияют на типы командных построений различным образом:
Частичное разветвление Если папка командного проекта, которая содержит несколько решений, имеет только одно или несколько разветвленных решений.
Полное разветвление Если папка командного проекта разветвляется полностью.
При частичном разветвлении определения построений, которые содержатся в папке TeamBuildTypes, все еще будут действовать в исходной конфигурации. Другими словами, они будут запускаться для исходной ветви. При частичном разветвлении рекомендуется создавать новые определения построений, если это необходимо, которые указывают на решения в исходной ветви и в новой ветви. Дополнительные сведения см. в разделе Создание определения построения. Хотя можно изменить существующие файлы TFSBuild.proj в новой ветви таким образом, чтобы они указывали на соответствующие пути, создавая новые определения построений, вы сохраняете исходные определения построений, которые все еще можно использовать в предыдущих конфигурациях, действующих до разветвления.
Как и при частичном разветвлении, во время создания полной ветви в командном проекте создается копия исходной папки TeamBuildTypes в Сред. Командный обозреватель. Определения построений, которые содержатся в папке новой ветви, не будут автоматически запускаться для новой ветви. Как и при частичном разветвлении, они будут запускаться для путей исходной ветви. В этом случае рекомендуется изменить пути к решениям в файлах TFSBuild.proj, чтобы они указывали на правильную папку.
Необходимые разрешения
Чтобы обновлять определения построения в разветвленных командных проектах, необходимо иметь разрешение Администрирование разрешениями сборки со значением Разрешить. Кроме того, необходимо иметь разрешение Извлечь со значением Разрешить для папки Team Build Types. Дополнительные сведения см. в разделе Разрешения Team Foundation Server.
Процедура
Редактирование файла TFSBuild.proj для обновления путей определения построений из-за операции полного разветвления
Чтобы отредактировать существующее определение построения и обновить путь к решению, извлеките соответствующий файл TFSBuild.proj.
Дополнительные сведения см. в разделе Получение локальной копии файлов с сервера системы управления версиями.
Щелкните правой кнопкой мыши файл TFSBuild.proj в системе управления версиями и выберите команду Извлечь для изменения.
Дважды щелкните файл TFSBuild.proj, чтобы открыть его в Visual Studio.
В файле TFSBuild.proj найдите тег <ItemGroup>. В теге <ItemGroup> обновите путь в каждом теге SolutionToBuild, как показано в следующем примере.
Исходный файл, который копируется из папки командного проекта Alpha:
<ItemGroup> <SolutionToBuild Include="$(SolutionRoot)\Alpha\path\Solution1.sln" /> <SolutionToBuild Include="$(SolutionRoot)\Alpha\path\Solution2.sln" /> </ItemGroup>
Изменения, которые отражают новую ветвь Beta:
<ItemGroup> <SolutionToBuild Include="$(SolutionRoot)\Beta\path\Solution1.sln" /> <SolutionToBuild Include="$(SolutionRoot)\Beta\path\Solution2.sln" /> </ItemGroup>
Сохраните файл TFSBuild.proj и верните его в систему управления версиями.
Изменения обновленных путей в файле влияют на последующие определения построений. Если файл TFSBuild.proj связан с несколькими определениями построений, обновленные пути повлияют на все определения.