Azure DevOps - тестовые проекты пакетов Nuget - PullRequest
0 голосов
/ 28 января 2020

У меня есть решение с. NET Core 3.1 проектами, включая тестовые проекты (xUnit). И я создал конвейер в Azure DevOps, который собирает пакеты Nuget. И по какой-то причине он создает пакеты и для тестовых проектов, даже если они имеют

<IsPackable>false</IsPackable>

Как я могу исключить проект из пакета Nuget?

Конвейер использует агент Windows 2019, NET Core 3.1, последние версии Nuget, пакета NuGet и NuGet pu sh.

Ответы [ 3 ]

1 голос
/ 30 января 2020

Если вы добавите задачу NuGet через Gui, это обеспечит решение вашей проблемы:

**\*.csproj;!**\*.Tests.csproj

Ваша команда Nuget должна выглядеть примерно так:

- task: NuGetCommand@2
  displayName: 'NuGet pack'
  inputs:
    command: 'pack'
    packagesToPack: '**\*.csproj;!**\*.Tests.csproj'
    versioningScheme: #yourversioningscheme

screenshot from AzDO

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

**\Foo.csproj;

0 голосов
/ 29 января 2020

Как предложил @jKlaus, вместо использования одной задачи пакета с шаблоном **/*.csproj вы должны использовать несколько задач пакета - по одной на проект. Например, для конкретного проекта у вас будет такой шаг:

steps:
- task: NuGetCommand@2
  displayName: 'Pack ProjectName'
  inputs:
    command: pack
    packagesToPack: ProjectName/ProjectName.csproj
    versioningScheme: byPrereleaseNumber

А для других проектов будут другие.

0 голосов
/ 28 января 2020

Вы можете настроить таргетинг проекта на каждый шаг, который я когда-либо использовал. Я думаю, что IsPackable уважают только do tnet, а не nuget.

...