Поделиться через


DotNetCoreCLI@2 - .NET задача Core v2

Создайте, протестируйте, упаковайте или опубликуйте .NET-приложение, либо запустите кастомную команду .NET CLI.

Синтаксис

# .NET Core v2
# Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
- task: DotNetCoreCLI@2
  inputs:
    #azureSubscription: # string. Alias: ConnectedServiceName. Azure Resource Manager connection. 
    command: 'build' # 'build' | 'push' | 'pack' | 'publish' | 'restore' | 'run' | 'test' | 'custom'. Required. Command. Default: build.
    #publishWebProjects: true # boolean. Optional. Use when command = publish. Publish web projects. Default: true.
    #projects: # string. Optional. Use when command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false. Path to project(s) or solution(s). 
    #custom: # string. Required when command = custom. Custom command. 
    #arguments: # string. Optional. Use when command = build || command = publish || command = run || command = test || command = custom. Arguments. 
    #restoreArguments: # string. Optional. Use when command = restore. Arguments. 
    #publishTestResults: true # boolean. Optional. Use when command = test. Publish test results and code coverage. Default: true.
    #testRunTitle: # string. Optional. Use when command = test. Test run title. 
    #zipAfterPublish: true # boolean. Optional. Use when command = publish. Zip published projects. Default: true.
    #modifyOutputPath: true # boolean. Optional. Use when command = publish. Add project's folder name to publish path. Default: true.
    #packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg' # string. Alias: searchPatternPush. Required when command = push. Path to NuGet package(s) to publish. Default: $(Build.ArtifactStagingDirectory)/*.nupkg.
    #nuGetFeedType: 'internal' # 'internal' | 'external'. Required when command = push. Target feed location. Default: internal.
    #publishVstsFeed: # string. Alias: feedPublish. Required when command = push && nuGetFeedType = internal. Target feed. 
    #publishFeedCredentials: # string. Alias: externalEndpoint. Required when command = push && nuGetFeedType = external. NuGet server. 
    #packagesToPack: '**/*.csproj' # string. Alias: searchPatternPack. Required when command = pack. Path to csproj or nuspec file(s) to pack. Default: **/*.csproj.
    #configuration: '$(BuildConfiguration)' # string. Alias: configurationToPack. Optional. Use when command = pack. Configuration to Package. Default: $(BuildConfiguration).
    #packDirectory: '$(Build.ArtifactStagingDirectory)' # string. Alias: outputDir. Optional. Use when command = pack. Package Folder. Default: $(Build.ArtifactStagingDirectory).
    #nobuild: false # boolean. Optional. Use when command = pack. Do not build. Default: false.
    #includesymbols: false # boolean. Optional. Use when command = pack. Include Symbols. Default: false.
    #includesource: false # boolean. Optional. Use when command = pack. Include Source. Default: false.
    #requestTimeout: '300000' # string. Set timeout for package download request. Default: 300000.
  # Feeds and authentication
    #feedsToUse: 'select' # 'select' | 'config'. Alias: selectOrConfig. Required when command = restore. Feeds to use. Default: select.
    #vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select && command = restore. Use packages from this Azure Artifacts feed. Select from the dropdown or enter [project name/]feed name. 
    #includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select && command = restore. Use packages from NuGet.org. Default: true.
    #nugetConfigPath: # string. Optional. Use when selectOrConfig = config && command = restore. Path to NuGet.config. 
    #externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config && command = restore. Credentials for feeds outside this organization/collection. 
  # Advanced
    #noCache: false # boolean. Optional. Use when command = restore. Disable local cache. Default: false.
    #restoreDirectory: # string. Alias: packagesDirectory. Optional. Use when command = restore. Destination directory. 
    #verbosityRestore: 'Normal' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = restore. Verbosity. Default: Normal.
  # Advanced
    #publishPackageMetadata: true # boolean. Optional. Use when command = push && nuGetFeedType = internal. Publish pipeline metadata. Default: true.
  # Pack options
    #versioningScheme: 'off' # 'off' | 'byPrereleaseNumber' | 'byEnvVar' | 'byBuildNumber' | 'bySemVerBuildNumber'. Required when command = pack. Automatic package versioning. Default: off.
    #versionEnvVar: # string. Required when versioningScheme = byEnvVar && command = pack. Environment variable. 
    #majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Major. Default: 1.
    #minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Minor. Default: 0.
    #patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Patch. Default: 0.
  # Advanced
    #buildProperties: # string. Optional. Use when command = pack. Additional build properties. 
    #verbosityPack: 'Normal' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = pack. Verbosity. Default: Normal.
  # Advanced
    #workingDirectory: # string. Optional. Use when command != restore && command != push && command != pack. Working directory.
# .NET Core v2
# Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
- task: DotNetCoreCLI@2
  inputs:
    #azureSubscription: # string. Alias: ConnectedServiceName. Azure Resource Manager connection. 
    command: 'build' # 'build' | 'push' | 'pack' | 'publish' | 'restore' | 'run' | 'test' | 'custom'. Required. Command. Default: build.
    #publishWebProjects: true # boolean. Optional. Use when command = publish. Publish web projects. Default: true.
    #projects: # string. Optional. Use when command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false. Path to project(s) or solution(s). 
    #custom: # string. Required when command = custom. Custom command. 
    #arguments: # string. Optional. Use when command = build || command = publish || command = run || command = test || command = custom. Arguments. 
    #restoreArguments: # string. Optional. Use when command = restore. Arguments. 
    #publishTestResults: true # boolean. Optional. Use when command = test. Publish test results and code coverage. Default: true.
    #testRunTitle: # string. Optional. Use when command = test. Test run title. 
    #zipAfterPublish: true # boolean. Optional. Use when command = publish. Zip published projects. Default: true.
    #modifyOutputPath: true # boolean. Optional. Use when command = publish. Add project's folder name to publish path. Default: true.
    #packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg' # string. Alias: searchPatternPush. Required when command = push. Path to NuGet package(s) to publish. Default: $(Build.ArtifactStagingDirectory)/*.nupkg.
    #nuGetFeedType: 'internal' # 'internal' | 'external'. Required when command = push. Target feed location. Default: internal.
    #publishVstsFeed: # string. Alias: feedPublish. Required when command = push && nuGetFeedType = internal. Target feed. 
    #publishFeedCredentials: # string. Alias: externalEndpoint. Required when command = push && nuGetFeedType = external. NuGet server. 
    #packagesToPack: '**/*.csproj' # string. Alias: searchPatternPack. Required when command = pack. Path to csproj or nuspec file(s) to pack. Default: **/*.csproj.
    #configuration: '$(BuildConfiguration)' # string. Alias: configurationToPack. Optional. Use when command = pack. Configuration to Package. Default: $(BuildConfiguration).
    #packDirectory: '$(Build.ArtifactStagingDirectory)' # string. Alias: outputDir. Optional. Use when command = pack. Package Folder. Default: $(Build.ArtifactStagingDirectory).
    #nobuild: false # boolean. Optional. Use when command = pack. Do not build. Default: false.
    #includesymbols: false # boolean. Optional. Use when command = pack. Include Symbols. Default: false.
    #includesource: false # boolean. Optional. Use when command = pack. Include Source. Default: false.
    #requestTimeout: '300000' # string. Set timeout for package download request. Default: 300000.
  # Feeds and authentication
    #feedsToUse: 'select' # 'select' | 'config'. Alias: selectOrConfig. Required when command = restore. Feeds to use. Default: select.
    #vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select && command = restore. Use packages from this Azure Artifacts feed. Select from the dropdown or enter [project name/]feed name. 
    #includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select && command = restore. Use packages from NuGet.org. Default: true.
    #nugetConfigPath: # string. Optional. Use when selectOrConfig = config && command = restore. Path to NuGet.config. 
    #externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config && command = restore. Credentials for feeds outside this organization/collection. 
  # Advanced
    #noCache: false # boolean. Optional. Use when command = restore. Disable local cache. Default: false.
    #restoreDirectory: # string. Alias: packagesDirectory. Optional. Use when command = restore. Destination directory. 
    #verbosityRestore: 'Normal' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = restore. Verbosity. Default: Normal.
  # Advanced
    #publishPackageMetadata: true # boolean. Optional. Use when command = push && nuGetFeedType = internal. Publish pipeline metadata. Default: true.
  # Pack options
    #versioningScheme: 'off' # 'off' | 'byPrereleaseNumber' | 'byEnvVar' | 'byBuildNumber'. Required when command = pack. Automatic package versioning. Default: off.
    #versionEnvVar: # string. Required when versioningScheme = byEnvVar && command = pack. Environment variable. 
    #majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Major. Default: 1.
    #minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Minor. Default: 0.
    #patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Patch. Default: 0.
  # Advanced
    #buildProperties: # string. Optional. Use when command = pack. Additional build properties. 
    #verbosityPack: 'Normal' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = pack. Verbosity. Default: Normal.
  # Advanced
    #workingDirectory: # string. Optional. Use when command != restore && command != push && command != pack. Working directory.
# .NET Core v2
# Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
- task: DotNetCoreCLI@2
  inputs:
    command: 'build' # 'build' | 'push' | 'pack' | 'publish' | 'restore' | 'run' | 'test' | 'custom'. Required. Command. Default: build.
    #publishWebProjects: true # boolean. Optional. Use when command = publish. Publish web projects. Default: true.
    #projects: # string. Optional. Use when command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false. Path to project(s) or solution(s). 
    #custom: # string. Required when command = custom. Custom command. 
    #arguments: # string. Optional. Use when command = build || command = publish || command = run || command = test || command = custom. Arguments. 
    #restoreArguments: # string. Optional. Use when command = restore. Arguments. 
    #publishTestResults: true # boolean. Optional. Use when command = test. Publish test results and code coverage. Default: true.
    #testRunTitle: # string. Optional. Use when command = test. Test run title. 
    #zipAfterPublish: true # boolean. Optional. Use when command = publish. Zip published projects. Default: true.
    #modifyOutputPath: true # boolean. Optional. Use when command = publish. Add project's folder name to publish path. Default: true.
    #packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg' # string. Alias: searchPatternPush. Required when command = push. Path to NuGet package(s) to publish. Default: $(Build.ArtifactStagingDirectory)/*.nupkg.
    #nuGetFeedType: 'internal' # 'internal' | 'external'. Required when command = push. Target feed location. Default: internal.
    #publishVstsFeed: # string. Alias: feedPublish. Required when command = push && nuGetFeedType = internal. Target feed. 
    #publishFeedCredentials: # string. Alias: externalEndpoint. Required when command = push && nuGetFeedType = external. NuGet server. 
    #packagesToPack: '**/*.csproj' # string. Alias: searchPatternPack. Required when command = pack. Path to csproj or nuspec file(s) to pack. Default: **/*.csproj.
    #configuration: '$(BuildConfiguration)' # string. Alias: configurationToPack. Optional. Use when command = pack. Configuration to Package. Default: $(BuildConfiguration).
    #packDirectory: '$(Build.ArtifactStagingDirectory)' # string. Alias: outputDir. Optional. Use when command = pack. Package Folder. Default: $(Build.ArtifactStagingDirectory).
    #nobuild: false # boolean. Optional. Use when command = pack. Do not build. Default: false.
    #includesymbols: false # boolean. Optional. Use when command = pack. Include Symbols. Default: false.
    #includesource: false # boolean. Optional. Use when command = pack. Include Source. Default: false.
  # Feeds and authentication
    #feedsToUse: 'select' # 'select' | 'config'. Alias: selectOrConfig. Required when command = restore. Feeds to use. Default: select.
    #vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select && command = restore. Use packages from this Azure Artifacts feed. 
    #includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select && command = restore. Use packages from NuGet.org. Default: true.
    #nugetConfigPath: # string. Optional. Use when selectOrConfig = config && command = restore. Path to NuGet.config. 
    #externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config && command = restore. Credentials for feeds outside this organization/collection. 
  # Advanced
    #noCache: false # boolean. Optional. Use when command = restore. Disable local cache. Default: false.
    #restoreDirectory: # string. Alias: packagesDirectory. Optional. Use when command = restore. Destination directory. 
    #verbosityRestore: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = restore. Verbosity. Default: Detailed.
  # Advanced
    #publishPackageMetadata: true # boolean. Optional. Use when command = push && nuGetFeedType = internal. Publish pipeline metadata. Default: true.
  # Pack options
    #versioningScheme: 'off' # 'off' | 'byPrereleaseNumber' | 'byEnvVar' | 'byBuildNumber'. Required when command = pack. Automatic package versioning. Default: off.
    #versionEnvVar: # string. Required when versioningScheme = byEnvVar && command = pack. Environment variable. 
    #majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Major. Default: 1.
    #minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Minor. Default: 0.
    #patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Patch. Default: 0.
  # Advanced
    #buildProperties: # string. Optional. Use when command = pack. Additional build properties. 
    #verbosityPack: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = pack. Verbosity. Default: Detailed.
  # Advanced
    #workingDirectory: # string. Optional. Use when command != restore && command != push && command != pack. Working directory.
# .NET Core v2
# Build, test, package, or publish a .NET application, or run a custom .NET CLI command.
- task: DotNetCoreCLI@2
  inputs:
    command: 'build' # 'build' | 'push' | 'pack' | 'publish' | 'restore' | 'run' | 'test' | 'custom'. Required. Command. Default: build.
    #publishWebProjects: true # boolean. Optional. Use when command = publish. Publish web projects. Default: true.
    #projects: # string. Optional. Use when command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false. Path to project(s). 
    #custom: # string. Required when command = custom. Custom command. 
    #arguments: # string. Optional. Use when command = build || command = publish || command = run || command = test || command = custom. Arguments. 
    #restoreArguments: # string. Optional. Use when command = restore. Arguments. 
    #publishTestResults: true # boolean. Optional. Use when command = test. Publish test results and code coverage. Default: true.
    #testRunTitle: # string. Optional. Use when command = test. Test run title. 
    #zipAfterPublish: true # boolean. Optional. Use when command = publish. Zip published projects. Default: true.
    #modifyOutputPath: true # boolean. Optional. Use when command = publish. Add project's folder name to publish path. Default: true.
    #packagesToPush: '$(Build.ArtifactStagingDirectory)/*.nupkg' # string. Alias: searchPatternPush. Required when command = push. Path to NuGet package(s) to publish. Default: $(Build.ArtifactStagingDirectory)/*.nupkg.
    #nuGetFeedType: 'internal' # 'internal' | 'external'. Required when command = push. Target feed location. Default: internal.
    #publishVstsFeed: # string. Alias: feedPublish. Required when command = push && nuGetFeedType = internal. Target feed. 
    #publishFeedCredentials: # string. Alias: externalEndpoint. Required when command = push && nuGetFeedType = external. NuGet server. 
    #packagesToPack: '**/*.csproj' # string. Alias: searchPatternPack. Required when command = pack. Path to csproj or nuspec file(s) to pack. Default: **/*.csproj.
    #configuration: '$(BuildConfiguration)' # string. Alias: configurationToPack. Optional. Use when command = pack. Configuration to Package. Default: $(BuildConfiguration).
    #packDirectory: '$(Build.ArtifactStagingDirectory)' # string. Alias: outputDir. Optional. Use when command = pack. Package Folder. Default: $(Build.ArtifactStagingDirectory).
    #nobuild: false # boolean. Optional. Use when command = pack. Do not build. Default: false.
    #includesymbols: false # boolean. Optional. Use when command = pack. Include Symbols. Default: false.
    #includesource: false # boolean. Optional. Use when command = pack. Include Source. Default: false.
  # Feeds and authentication
    #feedsToUse: 'select' # 'select' | 'config'. Alias: selectOrConfig. Required when command = restore. Feeds to use. Default: select.
    #vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select && command = restore. Use packages from this Azure Artifacts feed. 
    #includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select && command = restore. Use packages from NuGet.org. Default: true.
    #nugetConfigPath: # string. Optional. Use when selectOrConfig = config && command = restore. Path to NuGet.config. 
    #externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config && command = restore. Credentials for feeds outside this organization/collection. 
  # Advanced
    #noCache: false # boolean. Optional. Use when command = restore. Disable local cache. Default: false.
    #restoreDirectory: # string. Alias: packagesDirectory. Optional. Use when command = restore. Destination directory. 
    #verbosityRestore: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = restore. Verbosity. Default: Detailed.
  # Advanced
    #publishPackageMetadata: true # boolean. Optional. Use when command = push && nuGetFeedType = internal. Publish pipeline metadata. Default: true.
  # Pack options
    #versioningScheme: 'off' # 'off' | 'byPrereleaseNumber' | 'byEnvVar' | 'byBuildNumber'. Required when command = pack. Automatic package versioning. Default: off.
    #versionEnvVar: # string. Required when versioningScheme = byEnvVar && command = pack. Environment variable. 
    #majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Major. Default: 1.
    #minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Minor. Default: 0.
    #patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Patch. Default: 0.
  # Advanced
    #buildProperties: # string. Optional. Use when command = pack. Additional build properties. 
    #verbosityPack: 'Detailed' # '-' | 'Quiet' | 'Minimal' | 'Normal' | 'Detailed' | 'Diagnostic'. Optional. Use when command = pack. Verbosity. Default: Detailed.
  # Advanced
    #workingDirectory: # string. Optional. Use when command != restore && command != push && command != pack. Working directory.

Входы

azureSubscription - Azure Resource Manager соединение
Псевдоним ввода: . .

Укажите Azure Resource Manager сервисное соединение, настроенное с федерацией идентификации рабочей нагрузки для использования AzurePipelinesCredential в интеграционных тестах. Дополнительные сведения см. в статье Использование AzurePipelinesCredential в тестах интеграции.

Заметка

Эти входные данные поддерживают только подключения службы ARM, настроенные для использования федерации удостоверений рабочей нагрузки.


Команда
. Обязательно. Допустимые значения: , (push-отправка nuget), , , , , , . Значение по умолчанию: .

Команда dotnet для выполнения. Укажите , чтобы добавить аргументы или использовать команду, не указанную здесь.

Важный

Задача NuGet Authenticate стала новым рекомендованным способом аутентификации с помощью Azure Artifacts и других репозиториев NuGet. Команды restore и push в этой задаче .NET Core CLI больше не принимают новых функций, и устраняются только критические ошибки. Дополнительные сведения см. в примечаниях.


публикации веб-проектов
. Необязательный. Используется при . Значение по умолчанию: .

Если для этих входных данных задано значение , значение свойства пропускается, а задача пытается найти веб-проекты в репозитории и запустить команду публикации. Веб-проекты определяются наличием файла или папки в каталоге. При отсутствии файла web.config или папки wwwroot, выбираются проекты, использующие веб-SDK, такие как Microsoft.NET.Sdk.Web.


пути к проектам или решениям
. Необязательный. Используется при .

Путь к используемым файлам или . Можно использовать подстановочные знаки (например, для всех файлов во всех вложенных папках). Дополнительные сведения см. всправочнике по шаблонам сопоставления файлов.

Этот путь относится к корневому каталогу репозитория независимо от параметра .


пути к проектам
. Необязательный. Используется при .

Путь к используемым файлам . Можно использовать подстановочные знаки (например, для всех файлов во всех вложенных папках). Дополнительные сведения см. всправочнике по шаблонам сопоставления файлов.

Этот путь относится к корневому каталогу репозитория независимо от параметра .


Настраиваемая команда
. Требуется, если .

Команда, передаваемая в для выполнения. Полный список доступных команд см. в документации dotnet CLI.


аргументы
. Необязательный. Используется при .

Задает аргументы для выбранной команды. Например, конфигурация сборки, выходная папка и среда выполнения. Аргументы зависят от выбранной команды.

В настоящее время этот вход принимает только аргументы для , , , и . Если вы хотите добавить аргументы для команды, не указанной, используйте .


аргументы
. Необязательный. Используется при .

Записывает дополнительные аргументы, передаваемые в команду .


публикации результатов теста и покрытия кода
. Необязательный. Используется при . Значение по умолчанию: .

Включение этого параметра приведет к созданию файла TRX в , а результаты будут опубликованы на сервере.

Для VSTest эта опция добавляется к аргументам командной строки. Для Microsoft.Testing.Platform, при обнаружении тестового запускателя в , эта опция добавляется к аргументам командной строки.

Покрытие кода можно собрать, добавив опцию (для VSTest) или (для Microsoft.Testing.Platform) в аргументы командной строки.


заголовок запуска теста
. Необязательный. Используется при .

Предоставляет имя тестового запуска.


опубликованных проектов Zip
. Необязательный. Используется при . Значение по умолчанию: .

Если для этих входных данных задано значение , папки, созданные командой публикации, будут архивироваться и удаляться.


Добавление имени папки проекта для публикации пути
. Необязательный. Используется при . Значение по умолчанию: .

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


веб-каналы для использования
Псевдоним ввода: . . Требуется, если . Допустимые значения: (веб-каналы) я выбираем здесь), (веб-каналы в моей NuGet.config). Значение по умолчанию: .

Вы можете выбрать ленту из Azure Artifacts и/или NuGet.org здесь, либо зафиксировать файл nuget.config в репозиторий исходного кода и задать его путь с помощью nugetConfigPath входа.


vstsFeed - Используйте упаковки из этого Azure Artifacts корма. Выберите из выпадающего списка или введите [название проекта/]feed name.
Псевдоним ввода: . . Необязательный. Используется при .

Включает выбранный веб-канал в созданной . Для выбора веб-канала необходимо установить и лицензировать управление пакетами. используются для веб-каналов с областью проекта. Для веб-каналов в области организации используется только . Примечание. Это не поддерживается для команды .


vstsFeed - Используйте упаковки из этого Azure Artifacts корма
Псевдоним ввода: . . Необязательный. Используется при .

Включает выбранный веб-канал в созданной . Для выбора веб-канала необходимо установить и лицензировать управление пакетами. используются для веб-каналов с областью проекта. Для веб-каналов в области организации используется только . Примечание. Это не поддерживается для тестовой команды.


Использование пакетов из NuGet.org
. Необязательный. Используется при . Значение по умолчанию: .

Включает в созданный .


Путь к NuGet.config
. Необязательный. Используется при .

в репозитории, указывающее веб-каналы, из которых необходимо восстановить пакеты.


Учетные данные для веб-каналов за пределами этой организации или коллекции
Псевдоним ввода: . . Необязательный. Используется при .

Имя подключения службы, используемого для внешних реестров, перечисленных в выбранном элементе . Для веб-каналов в одной организации или коллекции оставьте это поле пустым; Учетные данные сборки используются автоматически.


Отключить локальный кэш
. Необязательный. Используется при . Значение по умолчанию: .

Не позволяет NuGet использовать пакеты из локальных кэшей компьютеров.


каталога назначения
Псевдоним ввода: . . Необязательный. Используется при .

Указывает папку, в которой установлены пакеты. Если папка не указана, пакеты восстанавливаются в кэш пакетов NuGet по умолчанию.


детализации
. Необязательный. Используется при . Допустимые значения: , , , , , . Значение по умолчанию: .

Указывает объем сведений, отображаемых в выходных данных для команды .


детализации
. Необязательный. Используется при . Допустимые значения: , , , , , . Значение по умолчанию: .

Указывает объем сведений, отображаемых в выходных данных для команды .


Путь к пакетам NuGet для публикации
Псевдоним ввода: . . Требуется, если . Значение по умолчанию: .

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


расположение целевого веб-канала
. Требуется, если . Допустимые значения: (эта организация или коллекция), (внешний сервер NuGet (включая другие организации или коллекции)). Значение по умолчанию: .

Указывает, является ли целевой веб-канал внутренним или внешним.


целевого веб-канала
Псевдоним ввода: . . Требуется, если .

Указывает веб-канал, размещенный в этой организации. Для выбора веб-канала необходимо установить и лицензировать управление пакетами.


публикации метаданных конвейера
. Необязательный. Используется при . Значение по умолчанию: .

Связывает метаданные этого конвейера сборки и выпуска (run #, сведения о исходном коде) с пакетом.


сервер NuGet
Псевдоним ввода: . . Требуется, если .

Подключение службы NuGet , содержащее учетные данные внешнего сервера NuGet.


Путь к csproj или nuspec-файлам для упаковки
Псевдоним ввода: . . Требуется, если . Значение по умолчанию: .

Шаблон для поиска или файлов для упаковки.

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


Конфигурация пакета
Псевдоним ввода: . . Необязательный. Используется при . Значение по умолчанию: .

При использовании файла этот вход указывает конфигурацию для пакета.


папка пакета
Псевдоним ввода: . . Необязательный. Используется при . Значение по умолчанию: .

Папка, в которой будут созданы пакеты. Если эта папка пуста, пакеты будут созданы вместе с файлом .


Не создавать
. Необязательный. Используется при . Значение по умолчанию: .

Указывает, что задача не будет создавать проект перед упаковкой. Эта задача соответствует параметру команды .


включить символы
. Необязательный. Используется при . Значение по умолчанию: .

Создает пакеты NuGet символов. Эта задача соответствует параметру командной строки .


включить исходный
. Необязательный. Используется при . Значение по умолчанию: .

Включает исходный код в пакет. Эта задача соответствует параметру командной строки .


автоматическое управление версиями пакетов
. Требуется, если . Разрешённые значения: , (Используйте дату и время), (Используйте переменную среды), (Используйте номер сборки), (Используйте полный номер сборки SemVer). Значение по умолчанию: .

Эту задачу нельзя использовать с включенными проектами, на которые ссылается ссылка. Если выбрать , это приведет к созданию SemVer-совместимой версии, форматируемой как , в которой вы выбираете , и .

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

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


автоматическое управление версиями пакетов
. Требуется, если . Допустимые значения: , (использовать дату и время), (использование переменной среды), (использовать номер сборки). Значение по умолчанию: .

Эту задачу нельзя использовать с включенными проектами, на которые ссылается ссылка. Если выбрать , это приведет к созданию SemVer-совместимой версии, форматируемой как , в которой вы выбираете , и .

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

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


переменная среды
. Требуется, если .

Задает имя переменной без , или .


основных
Псевдоним ввода: . . Требуется, если . Значение по умолчанию: .

версии X.Y.Z.


незначительные
Псевдоним ввода: . . Требуется, если . Значение по умолчанию: .

версии X.Y.Z.


исправления
Псевдоним ввода: . . Требуется, если . Значение по умолчанию: .

версии X.Y.Z.


дополнительные свойства сборки
. Необязательный. Используется при .

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


детализации
. Необязательный. Используется при . Допустимые значения: , , , , , . Значение по умолчанию: .

Указывает объем сведений, отображаемых в выходных данных для команды .


детализации
. Необязательный. Используется при . Допустимые значения: , , , , , . Значение по умолчанию: .

Указывает объем сведений, отображаемых в выходных данных для команды .


рабочего каталога
. Необязательный. Используется при .

Текущий рабочий каталог, в котором выполняется скрипт. является корнем репозитория (сборки) или артефактов (выпуск), .


Задать время ожидания для запроса на скачивание пакетов
. Значение по умолчанию: .

Предоставить значение тайм-аута для HTTP-запросов, которые выполняет задача, чтобы получить пакет .NET. Значение находится в миллисекундах. Значение по умолчанию — 300000 миллисекунда (5 минут). Не может быть более 600000 миллисекунда (10 минут).


Параметры управления задачами

Все задачи имеют параметры управления в дополнение к входным данным задачи. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.

Выходные переменные

Никакой.

Замечания

Важный

Задача NuGet Authenticate стала новым рекомендованным способом аутентификации с помощью Azure Artifacts и других репозиториев NuGet. Команды restore и push в этой задаче .NET Core CLI больше не принимают новых функций, и устраняются только критические ошибки.

Использование AzurePipelinesCredential в тестах интеграции

Библиотеки #REF! Identity для .NET, C++, Go, Java, JavaScript и Python поддерживают федерацию идентификации рабочих нагрузок, поэтому код, выполняемый из задач #REF!CLI@2 и #REF!PowerShell@5, может аутентифицироваться с помощью Microsoft Entra ID (например, для доступа #REF!) с помощью класса #REF!PipelinesCredential.

Многие клиенты используют клиентские библиотеки #REF! в интеграционных тестах, вызываемых из других задач. Задачи DotNetCoreCLI@2, Maven@4 и VSTest@3 могут получить доступ к #REF! ресурсам с помощью класса #REF!PipelinesCredential.

Вы можете установить свойство connectedServiceName на #REF! сервисное соединение, настроенное с федерацией идентификации рабочих нагрузок. Для требуется задать SYSTEM_ACCESSTOKEN.

В следующем примере показаны входные данные для задачи . и использование аналогично.

- task: DotNetCoreCLI@2
  inputs:
    command: 'run'
    connectedServiceName: <Azure service connection configured with workload identity federation>
  env:
    SYSTEM_ACCESSTOKEN: $(System.AccessToken)

Для получения дополнительной информации о #REF!PipelinesCredential см. Улучшение безопасности в #REF! сервисных соединениях с помощью #REF!PipelinesCredential.

Почему не удалось восстановить пакеты сборки, публикации или тестирования?

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

Чтобы устранить эту проблему, добавьте флаг в текстовое поле .

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

Почему я получаю предупреждения NU1507 с сопоставление источников пакетов хотя при сборке на моем компьютере нет предупреждений?

Различные команды, которые выполняют восстановление NuGet или доступ к веб-каналу NuGet, создают специальный временный файл, который добавляет проверку подлинности NuGet для веб-каналов NuGet azure. Это происходит в конфликте со схемой, которую сопоставление источников пакетов использует для сопоставления пакетов с источниками и разрывает конфигурацию источника пакета в файле в репозитории. Чтобы обойти этот конфликт, можно использовать задачу проверки подлинности NuGet для проверки подлинности и последующей пользовательской команды для вызова требуемой команды dotnet без изменения .

# Authenticate Azure DevOps NuGet feed
- task: NuGetAuthenticate@1
  displayName: 'Authenticate Azure DevOps NuGet feed'

# Restore project
- task: DotNetCoreCLI@2
  inputs:
    command: 'custom'
    custom: 'restore'

# Build project
- task: DotNetCoreCLI@2
  inputs:
    command: 'custom'
    custom: 'build'
    arguments: '--no-restore'

Почему я должен проверить NuGet.config?

Проверка в системе управления версиями гарантирует, что ключевой фрагмент информации, необходимый для создания проекта ( расположение пакетов), доступен каждому разработчику, который проверяет код.

Однако в ситуациях, когда команда разработчиков работает над большим спектром проектов, также возможно добавить Azure Artifacts ленту в глобальный NuGet.config на машине каждого разработчика. В этих ситуациях использование параметра в задаче NuGet реплицирует эту конфигурацию.

Устранение неполадок

Проект с помощью Entity Framework перестал работать с размещенными агентами

.NET Core не имеет встроенного Entity Framework (EF). Вам придётся либо установить EF перед началом выполнения, либо добавить global.json в проект с обязательной версией .NET Core SDK. Это гарантирует, что для сборки проекта EF используется правильный пакет SDK. Если требуемая версия отсутствует на компьютере, добавьте задачу в конвейер для установки требуемой версии. Для получения дополнительной информации см. Получить #REF! время выполнения.

Примеры

  • примеры сборки
  • примеры отправки
  • примеры отправки
  • Примеры пакетов
  • примеры публикации
  • примеры восстановления
  • Примеры тестирования

Примеры сборки

Создание проекта

# Build project
- task: DotNetCoreCLI@2
  inputs:
    command: 'build'

Создание нескольких проектов

# Build multiple projects
- task: DotNetCoreCLI@2
  inputs:
    command: 'build'
    projects: |
      src/proj1/proj1.csproj 
      src/proj2/proj2.csproj 
      src/other/other.sln    # Pass a solution instead of a csproj.

Примеры отправки

Отправка пакетов NuGet во внутренний веб-канал

# Push non test NuGet packages from a build to internal organization Feed
- task: DotNetCoreCLI@2
  inputs:
    command: 'push'
    searchPatternPush: '$(Build.ArtifactStagingDirectory)/*.nupkg;!$(Build.ArtifactStagingDirectory)/*.Tests.nupkg'
    feedPublish: 'FabrikamFeed'

Отправка пакетов NuGet во внешний веб-канал

# Push all NuGet packages from a build to external Feed
- task: DotNetCoreCLI@2
  inputs:
    command: 'push'
    nugetFeedType: 'external'
    externalEndPoint: 'MyNuGetServiceConnection'

Примеры пакетов

Упаковка NuGetPackage в определенный выходной каталог

# Pack a NuGet package to a test directory
- task: DotNetCoreCLI@2
  inputs: 
    command: 'pack'
    outputDir: '$(Build.ArtifactStagingDirectory)/TestDir'

Упаковка пакета символов

# Pack a symbol package along with NuGet package
- task: DotNetCoreCLI@2
  inputs: 
    command: 'pack'
    includesymbols: true

Примеры публикации

Публикация проектов в указанной папке

# Publish projects to specified folder.
- task: DotNetCoreCLI@2
  displayName: 'dotnet publish'
  inputs:
    command: 'publish'
    publishWebProjects: false
    arguments: '-o $(Build.ArtifactStagingDirectory)/Output'
    zipAfterPublish: true
    modifyOutputPath: true

Примеры восстановления

#Restore packages with the .NET Core CLI task
- task: DotNetCoreCLI@2
  displayName: 'dotnet restore'
  inputs:
    command: 'restore'
    feedsToUse: 'select'
    feedRestore: 'projectName/feedName'
    projects: '**/*.csproj'
    includeNuGetOrg: true

Примеры тестирования

Выполнение тестов в репозитории

# Run tests and auto publish test results.
- task: DotNetCoreCLI@2
  inputs:
    command: 'test'

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент
требования Никакой
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любой
переменные settable Любой
Версия агента 2.144.0 или более поздней версии
Категория задач Строить
Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент
требования Никакой
возможностей Эта задача не удовлетворяет требованиям к последующим задачам в задании.
ограничения команд Любой
переменные settable Любой
Версия агента 2.115.0 или более поздней версии
Категория задач Строить