Трубопроводы Azure - используйте инструмент, загруженный из NuGet в проекте .NET Core. - PullRequest
2 голосов
/ 26 июня 2019

Как настроить шаг сборки в конвейерах Azure для выполнения команды GitVersion.exe, если исполняемый файл получен из NuGet GitVersion.CommandLine проектом .NET Core?

В .NET Frameworkисполняемый файл может быть найден по пути packages/GitVersion.CommandLine/**/GitVersion.exe, но в каталоге пакетов .NET Core не существует.

Ответы [ 2 ]

2 голосов
/ 26 июня 2019

Вы можете установить расширение Git Version и добавить его в свой конвейер, оно также работает с проектами .NET Core.

Расширение генерирует 2 переменные:

GitVersion.NuGetVersion
GitVersion.SemVer

Вы можете использовать эти переменные в следующих шагах: $(GitVersion.SemVer).

Например (в ямле):

steps:

- task: GitVersion@4
  displayName: GitVersion

- powershell: 'Write-Host $(GitVersion.SemVer)'

Результат:

enter image description here

Если вы хотите использовать конкретную версию, вы можете добавить задачу командной строки и установить ее с помощью chocolaty:

choco install gitversion.portable

Кстати, в состав агентов Microsoft Hosted VS2017 / 2019 входит GitVersion 4.0.0.

1 голос
/ 26 июня 2019

.NET Core 2 представил концепцию кэширования Nuget (немного похожую на GAC).Все пакеты загружаются только один раз в определенную папку и повторно используются для всех проектов.Это необходимо, потому что .NET Core 2.x-3.x теперь состоит из сотен пакетов.Таким образом, структура теперь очень детализирована: вы используете то, что вам нужно, или «агрегирующий» пакет, например microsoft.aspnetcore.all (который ссылается на все).

Так что теперь вы можете найти установленные пакеты Nuget под своей учетной записью пользователя, например:C: \ Users \ <ваше имя пользователя> .nuget \ packages.

В соответствии с этой документацией вы можете запустить эту команду, которая выведет список всех папок Nuget на вашем компьютере:

dotnet nuget locals all -l

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

...