Если вы не хотите управлять projectB1
пакетом NuGet, есть другие опции, которые вы можете использовать.
Предположим, что solutionB
управляется в repoB
, а структура файла в repoB
.например:
repoB
|___solutionB
|___projectB1
|___...
|___...
|___...
Вариант 1: клонировать репоВ во время сборки напрямую
В начале определения сборки вы можете добавить задачу PowerShell к клонированию репо.Сценарий PowerShell, как показано ниже:
# If you are using private agent to build and clean source is false, you should check if the repoB folder exist or not
git clone https://Personal%20Access%20Token:{PAT}@{account}.visualstudio.com/{project}/_git/repoB
Чтобы убедиться, что solutionB
сначала собрана, вы можете использовать две задачи сборки VS.Первый используется для сборки solutionB
(repoB/*.sln
), а второй - для сборки solutionA
(**/solutionA.sln
).
Вариант 2: добавить repoB в качестве подмодуля для repoA
Если вы хотите добавить repoB
в качестве подмодуля для repoA
, то вы можете добавить repoB
в качестве подмодуля для repoA
с помощью:
git submodule add https://{account}.visualstudio.com/{project}/_git/repoB
Затем зафиксируйте и отправьте изменения на удаленный repoA
.
Примечание: вам также нужно сначала добавить еще одну задачу VS Build для построения решенияB.
Вариант 3: добавить ветку repoB (например, главную ветвь)как поддерево для repoA
Подобно субмодулю, вы можете добавить ветку (например, master
) repoB
в repoA
с помощью:
git subtree add --prefix=repoB https://{account}.visualstudio.com/{project}/_git/repoB master