DotNetCoreCLI@2 - .NET Core v2 任务

生成、测试、打包或发布 .NET 应用程序,或运行自定义 .NET CLI 命令。

生成、测试、打包或发布 dotnet 应用程序,或运行自定义 dotnet 命令。 对于包命令,支持 NuGet.org 和经过身份验证的源,如包管理和 MyGet。

重要

NuGet 身份验证 任务是使用 Azure Artifacts 和其他 NuGet 存储库进行身份验证的新推荐方法。 此 .NET Core CLI 任务的 restorepush 命令不再采用新功能,仅解决关键 bug。 有关详细信息,请参阅备注。

语法

# .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.
  # 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 && command = push. 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 && command != pack && command != push && command != restore. 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 && command = push. 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 && command != pack && command != push && command != restore. 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 && command = push. 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 && command != pack && command != push && command != restore. 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. 
    #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 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 && command = push. 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 != pack && command != push && command != restore. 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. 
    #publishTestResults: true # boolean. Optional. Use when command = test. Publish test results and code coverage. Default: true.
    #zipAfterPublish: true # boolean. Optional. Use when command = publish. Zip Published Projects. Default: true.
    #modifyOutputPath: true # boolean. Optional. Use when command = publish. Add project 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.
  # 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/TFS 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.
  # 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 != pack && command != push && command != restore. Working Directory.

输入

azureSubscription - Azure 资源管理器连接
输入别名:ConnectedServiceNamestring

指定配置有工作负荷标识联合身份验证的 Azure 资源管理器服务连接,以在集成测试中使用 AzurePipelinesCredential。 有关详细信息,请参阅 在集成测试中使用 AzurePipelinesCredential

注意

此输入仅支持配置为使用工作负荷标识联合的 ARM 服务连接。


command - 命令
string。 必填。 允许的值:buildpush(nuget push)、packpublishrestoreruntestcustom。 默认值:build

要运行的 dotnet 命令。 指定 custom 添加参数或使用此处未列出的命令。

重要

NuGet 身份验证 任务是使用 Azure Artifacts 和其他 NuGet 存储库进行身份验证的新推荐方法。 此 .NET Core CLI 任务的 restorepush 命令不再采用新功能,仅解决关键 bug。 有关详细信息,请参阅备注。


publishWebProjects - 发布 web 项目
boolean。 自选。 当 command = publish时使用。 默认值:true

如果此输入设置为 true,则会跳过 projects 属性值,任务会尝试在存储库中找到 Web 项目并对其运行发布命令。 Web 项目由目录中存在 web.config 文件或 wwwroot 文件夹标识。 如果没有 web.config 文件或 wwwroot 文件夹,则选择使用 Web SDK 的项目(如 Microsoft.NET.Sdk.Web)。


publishWebProjects - 发布 Web 项目
boolean。 自选。 当 command = publish时使用。 默认值:true

如果此输入设置为 true,则会跳过 projects 属性值,任务会尝试在存储库中找到 Web 项目并对其运行发布命令。 Web 项目由目录中存在 web.config 文件或 wwwroot 文件夹标识。 如果没有 web.config 文件或 wwwroot 文件夹,则选择使用 Web SDK 的项目(如 Microsoft.NET.Sdk.Web)。


projects - 项目路径或解决方案
string。 自选。 当 command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false时使用。

要使用的 .csproj.sln 文件的路径。 可以使用通配符(例如为所有子文件夹中的所有 .csproj 文件 **/*.csproj)。 有关详细信息,请参阅 文件匹配模式参考

无论 workingDirectory 设置如何,此路径都相对于存储库的根目录。


projects - 项目路径
string。 自选。 当 command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false时使用。

要使用的 .csproj 文件的路径。 可以使用通配符(例如为所有子文件夹中的所有 .csproj 文件 **/*.csproj)。 有关详细信息,请参阅 文件匹配模式参考

无论 workingDirectory 设置如何,此路径都相对于存储库的根目录。


custom - 自定义命令
stringcommand = custom时是必需的。

要传递给执行 dotnet.exe 的命令。 有关可用命令的完整列表,请参阅 dotnet CLI 文档


arguments - 参数
string。 自选。 当 command = build || command = publish || command = run || command = test || command = custom时使用。

指定所选命令的参数。 例如,生成配置、输出文件夹和运行时。 参数取决于所选命令。

此输入当前仅接受 buildpublishruntestcustom的参数。 如果要为未列出的命令添加参数,请使用 custom


restoreArguments - 参数
string。 自选。 当 command = restore时使用。

写入要传递给 restore 命令的其他参数。


publishTestResults - 发布测试结果和代码覆盖率
boolean。 自选。 当 command = test时使用。 默认值:true

启用此选项将在 $(Agent.TempDirectory)中生成 test results TRX 文件,结果将发布到服务器。

此选项将 --logger trx --results-directory $(Agent.TempDirectory) 追加到命令行参数。

可以通过将 --collect "Code coverage" 选项添加到命令行参数来收集代码覆盖率。


testRunTitle - 测试运行游戏
string。 自选。 当 command = test时使用。

提供测试运行的名称。


zipAfterPublish - Zip 已发布的项目
boolean。 自选。 当 command = publish时使用。 默认值:true

如果此输入设置为 true,则发布命令创建的文件夹将被压缩并删除。


zipAfterPublish - Zip 已发布项目
boolean。 自选。 当 command = publish时使用。 默认值:true

如果此输入设置为 true,则发布命令创建的文件夹将被压缩并删除。


modifyOutputPath - 添加项目的文件夹名称以发布路径
boolean。 自选。 当 command = publish时使用。 默认值:true

如果此输入设置为 true,则发布命令创建的文件夹在参数中显式指定输出路径时,项目文件名将前缀为其文件夹名称。 如果要将多个项目发布到同一文件夹,这非常有用。


modifyOutputPath - 添加项目名称以发布路径
boolean。 自选。 当 command = publish时使用。 默认值:true

如果此输入设置为 true,则发布命令创建的文件夹在参数中显式指定输出路径时,项目文件名将前缀为其文件夹名称。 如果要将多个项目发布到同一文件夹,这非常有用。


feedsToUse - 源以使用
输入别名:selectOrConfigstringcommand = restore时是必需的。 允许的值:select(我在此处选择的源),config(我的 NuGet.config中的源)。 默认值:select

可以从此处的 Azure Artifacts 和/或 NuGet.org 中选择源,也可以将 nuget.config 文件提交到源代码存储库,并使用 nugetConfigPath 输入设置其路径。


vstsFeed - 使用此 Azure Artifacts 源中的包。从下拉列表中选择,或输入 [项目名称/]源名称。
输入别名:feedRestorestring。 自选。 当 selectOrConfig = select && command = restore时使用。

在生成的 NuGet.config中包含所选源。 必须安装包管理并获得许可才能在此处选择源。 projectName / feedName 用于项目范围的源。 仅 FeedName 用于组织范围的源。 注意:test 命令不支持此操作。


vstsFeed - 使用此 Azure Artifacts 源中的包
输入别名:feedRestorestring。 自选。 当 selectOrConfig = select && command = restore时使用。

在生成的 NuGet.config中包含所选源。 必须安装包管理并获得许可才能在此处选择源。 projectName / feedName 用于项目范围的源。 仅 FeedName 用于组织范围的源。 注意:测试命令不支持此操作。


vstsFeed - 使用此 Azure Artifacts/TFS 源中的包
输入别名:feedRestorestring。 自选。 当 selectOrConfig = select && command = restore时使用。

在生成的 NuGet.config中包含所选源。 必须安装包管理并获得许可才能在此处选择源。 projectName / feedName 用于项目范围的源。 仅 FeedName 用于组织范围的源。 注意:测试命令不支持此操作。


includeNuGetOrg - 使用来自 NuGet.org的包
boolean。 自选。 当 selectOrConfig = select && command = restore时使用。 默认值:true

在生成的 NuGet.config中包含 NuGet.org


nugetConfigPath - NuGet.config 的路径
string。 自选。 当 selectOrConfig = config && command = restore时使用。

存储库中的 NuGet.config,用于指定要从中还原包的源。


externalFeedCredentials - 此组织/集合外部源的凭据
输入别名:externalEndpointsstring。 自选。 当 selectOrConfig = config && command = restore时使用。

用于所选 NuGet.config中的外部注册表的凭据。 对于此组织/集合中的源,请将此输入留空;将自动使用生成的凭据。


noCache - 禁用本地缓存
boolean。 自选。 当 command = restore时使用。 默认值:false

防止 NuGet 使用本地计算机缓存中的包。


restoreDirectory - 目标目录
输入别名:packagesDirectorystring。 自选。 当 command = restore时使用。

指定在其中安装包的文件夹。 如果未指定文件夹,包将还原到默认 NuGet 包缓存中。


verbosityRestore - 详细程度
string。 自选。 当 command = restore时使用。 允许的值:-QuietMinimalNormalDetailedDiagnostic。 默认值:Normal

指定 restore 命令的输出中显示的详细信息量。


verbosityRestore - 详细程度
string。 自选。 当 command = restore时使用。 允许的值:-QuietMinimalNormalDetailedDiagnostic。 默认值:Detailed

指定 restore 命令的输出中显示的详细信息量。


packagesToPush - NuGet 包的路径,用于发布
输入别名:searchPatternPushstringcommand = push时是必需的。 默认值:$(Build.ArtifactStagingDirectory)/*.nupkg

要匹配的模式或要上传 nupkg 文件的路径。 多个模式可以用分号分隔,可以通过以 !作为前缀来使模式为负。 示例:**/*.nupkg;!**/*.Tests.nupkg


nuGetFeedType - 目标源位置
stringcommand = push时是必需的。 允许的值:internal(此组织/集合)、external(外部 NuGet 服务器(包括其他组织/集合)。 默认值:internal

指定目标源是内部源还是外部源。


publishVstsFeed - 目标源
输入别名:feedPublishstringcommand = push && nuGetFeedType = internal时是必需的。

指定在此组织中托管的源。 必须安装包管理并获得许可才能在此处选择源。


publishPackageMetadata - 发布管道元数据
boolean。 自选。 当 command = push && nuGetFeedType = internal && command = push时使用。 默认值:true

将此生成/发布管道的元数据(运行 #、源代码信息)与包相关联。


publishFeedCredentials - NuGet 服务器
输入别名:externalEndpointstringcommand = push && nuGetFeedType = external时是必需的。

包含外部 NuGet 服务器的凭据的 NuGet 服务连接


packagesToPack - csproj 或 nuspec 文件的路径以打包
输入别名:searchPatternPackstringcommand = pack时是必需的。 默认值:**/*.csproj

要打包的 .csproj.nuspec 文件的搜索模式。

可以使用分号分隔多个模式,并通过以 !作为前缀来使模式为负。 示例:**/*.csproj;!**/*.Tests.csproj


将配置 configuration - 打包
输入别名:configurationToPackstring。 自选。 当 command = pack时使用。 默认值:$(BuildConfiguration)

使用 .csproj 文件时,此输入指定要打包的配置。


packDirectory - 包文件夹
输入别名:outputDirstring。 自选。 当 command = pack时使用。 默认值:$(Build.ArtifactStagingDirectory)

将在其中创建包的文件夹。 如果此文件夹为空,将连同 csproj 文件一起创建包。


nobuild - 不生成
boolean。 自选。 当 command = pack时使用。 默认值:false

指定任务在打包之前不会生成项目。 此任务对应于 build 命令的 --no-build 参数。


includesymbols - 包括符号
boolean。 自选。 当 command = pack时使用。 默认值:false

创建符号 NuGet 包。 此任务对应于 --include-symbols 命令行参数。


includesource - 包括源
boolean。 自选。 当 command = pack时使用。 默认值:false

在包中包含源代码。 此任务对应于 --include-source 命令行参数。


versioningScheme - 自动包版本控制
stringcommand = pack时是必需的。 允许的值:offbyPrereleaseNumber(使用日期和时间)、byEnvVar(使用环境变量)、byBuildNumber(使用内部版本号)。 默认值:off

此任务不能与包含的引用项目一起使用。 如果选择 Use the date and time,则会生成一个 SemVer兼容版本,其格式为 X.Y.Z-ci-datetime,选择 XYZ

如果选择 Use an environment variable,则必须选择环境变量,并确保它包含要使用的版本号。

如果选择 Use the build number,将使用内部版本号对包进行版本控制。 注意:Options下,将内部版本号格式设置为 $(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)


versionEnvVar - 环境变量
stringversioningScheme = byEnvVar && command = pack时是必需的。

指定不带 $$env%的变量名。


majorVersion - 主要
输入别名:requestedMajorVersionstringversioningScheme = byPrereleaseNumber && command = pack时是必需的。 默认值:1

版本 X.Y.Z中的 X


minorVersion - 次要
输入别名:requestedMinorVersionstringversioningScheme = byPrereleaseNumber && command = pack时是必需的。 默认值:0

版本 X.Y.Z中的 Y


patchVersion - Patch
输入别名:requestedPatchVersionstringversioningScheme = byPrereleaseNumber && command = pack时是必需的。 默认值:0

版本 X.Y.Z中的 Z


buildProperties - 其他生成属性
string。 自选。 当 command = pack时使用。

指定由分号分隔的 token = value 对列表,其中 .nuspec 文件中 $token$ 的每个匹配项都将替换为给定值。 值可以是引号中的字符串。


verbosityPack - 详细程度
string。 自选。 当 command = pack时使用。 允许的值:-QuietMinimalNormalDetailedDiagnostic。 默认值:Normal

指定 pack 命令的输出中显示的详细信息量。


verbosityPack - 详细程度
string。 自选。 当 command = pack时使用。 允许的值:-QuietMinimalNormalDetailedDiagnostic。 默认值:Detailed

指定 pack 命令的输出中显示的详细信息量。


workingDirectory - 工作目录
string。 自选。 当 command != restore && command != push && command != pack && command != pack && command != push && command != restore时使用。

运行脚本的当前工作目录。 Empty 是存储库(生成)或项目(release)的根目录,$(System.DefaultWorkingDirectory)


workingDirectory - 工作目录
string。 自选。 当 command != pack && command != push && command != restore时使用。

运行脚本的当前工作目录。 Empty 是存储库(生成)或项目(release)的根目录,$(System.DefaultWorkingDirectory)


任务控制选项

除任务输入之外,所有任务都具有控制选项。 有关详细信息,请参阅 控件选项和常见任务属性

输出变量

没有。

言论

重要

NuGet 身份验证 任务是使用 Azure Artifacts 和其他 NuGet 存储库进行身份验证的新推荐方法。 此 .NET Core CLI 任务的 restorepush 命令不再采用新功能,仅解决关键 bug。

在集成测试中使用 AzurePipelinesCredential

适用于 .NET、C++、Go、Java、JavaScript 和 Python 的 Azure 标识库 支持工作负荷联合身份验证,因此,从 AzureCLI@2AzurePowerShell@5 任务执行的代码可以使用 Microsoft Entra ID(例如,访问 Azure)使用 AzurePipelinesCredential 类进行身份验证。

许多客户都在从其他任务调用的集成测试中使用 Azure SDK 客户端库。 DotNetCoreCLI@2Maven@4VSTest@3 任务可以使用 AzurePipelinesCredential 类访问 Azure 资源。

可以将 connectedService 属性设置为使用工作负荷标识联合配置的 Azure 服务连接。 AzurePipelinesCredential 需要设置 SYSTEM_ACCESSTOKEN

以下示例演示 DotNetCoreCLI@2 任务上的 connectedService 输入。 VSTest@3Maven@4 用法类似。

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

有关 AzurePipelinesCredential的详细信息,请参阅此 使用 AzurePipelinesCredential改进 Azure 服务连接中的安全状况。

为什么生成、发布或测试步骤无法还原包?

大多数 dotnet 命令,包括 buildpublishtest 都包含隐式 restore 步骤。 即使你在前面的步骤中运行了成功的 dotnet restore,这也会针对经过身份验证的源失败,因为前面的步骤将清理所使用的凭据。

若要解决此问题,请将 --no-restore 标志添加到 Arguments 文本框中。

此外,test 命令无法识别 feedRestorevstsFeed 参数,在隐式 restore 步骤运行时,以这种方式指定的源将不会包含在生成的 NuGet.config 文件中。 建议使用显式 dotnet restore 步骤还原包。 restore 命令遵循 feedRestorevstsFeed 参数。

为什么在使用 包源映射 时收到 NU1507 警告,尽管在计算机上生成时没有警告?

执行 NuGet 还原或访问 NuGet 源的各种命令会生成一个特殊的临时 NuGet.config 文件,用于为 Azure 项目 NuGet 源添加 NuGet 身份验证。 这样做的方式与包源映射用于将包映射到源的架构冲突,并中断存储库中 NuGet.config 文件中的包源映射图钉配置。 若要解决此冲突,可以使用 NuGet 身份验证 任务进行身份验证,然后自定义命令调用所需的 dotnet 命令,而无需 NuGet.config 修改。

# 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?

NuGet.config 签入源代码管理可确保生成项目所需的关键信息(包的位置)可供签出代码的每个开发人员使用。

但是,对于开发人员团队处理大量项目的情况,还可以将 Azure Artifacts 源添加到每个开发人员计算机上的全局 NuGet.config。 在这些情况下,使用 NuGet 任务中的 Feeds I select here 选项将复制此配置。

故障 排除

使用 Entity Framework 的项目已停止处理托管代理

.NET Core 没有内置 Entity Framework(EF)。 在开始执行之前,必须安装 EF,或者向具有所需 .NET Core SDK 版本的项目添加 global.json。 这将确保使用正确的 SDK 生成 EF 项目。 如果计算机上不存在所需的版本,请将 UseDotNetV2 任务添加到管道以安装所需的版本。 有关详细信息,请参阅 获取 Entity Framework Core 运行时

例子

生成示例

生成项目

# 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
    projects: '**/*.csproj'
    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 或更高版本
任务类别
要求 描述
管道类型 YAML,经典版本,经典版本
运行时间 代理
需求 没有
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任何
Settable 变量 任何
代理版本 2.0.0 或更高版本
任务类别