DotNetCoreCLI@2 - .NET Core v2 任务
生成、测试、打包或发布 .NET 应用程序,或运行自定义 .NET CLI 命令。
生成、测试、打包或发布 dotnet 应用程序,或运行自定义 dotnet 命令。 对于包命令,支持 NuGet.org 和经过身份验证的源,如包管理和 MyGet。
重要
NuGet 身份验证 任务是使用 Azure Artifacts 和其他 NuGet 存储库进行身份验证的新推荐方法。 此 .NET Core CLI 任务的 restore
和 push
命令不再采用新功能,仅解决关键 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.
#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 && 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 资源管理器连接
输入别名:ConnectedServiceName
。
string
。
指定配置有工作负荷标识联合身份验证的 Azure 资源管理器服务连接,以在集成测试中使用 AzurePipelinesCredential。 有关详细信息,请参阅 在集成测试中使用 AzurePipelinesCredential。
注意
此输入仅支持配置为使用工作负荷标识联合的 ARM 服务连接。
command
-
命令
string
。 必填。 允许的值:build
、push
(nuget push)、pack
、publish
、restore
、run
、test
、custom
。 默认值:build
。
要运行的 dotnet 命令。 指定 custom
添加参数或使用此处未列出的命令。
重要
NuGet 身份验证 任务是使用 Azure Artifacts 和其他 NuGet 存储库进行身份验证的新推荐方法。 此 .NET Core CLI 任务的 restore
和 push
命令不再采用新功能,仅解决关键 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
设置如何,此路径都相对于存储库的根目录。
arguments
-
参数
string
。 自选。 当 command = build || command = publish || command = run || command = test || command = custom
时使用。
指定所选命令的参数。 例如,生成配置、输出文件夹和运行时。 参数取决于所选命令。
此输入当前仅接受 build
、publish
、run
、test
和 custom
的参数。 如果要为未列出的命令添加参数,请使用 custom
。
restoreArguments
-
参数
string
。 自选。 当 command = restore
时使用。
写入要传递给 restore
命令的其他参数。
publishTestResults
-
发布测试结果和代码覆盖率
boolean
。 自选。 当 command = test
时使用。 默认值:true
。
启用此选项将在 test results
中生成 $(Agent.TempDirectory)
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
-
源以使用
输入别名:selectOrConfig
。
string
。
command = restore
时是必需的。 允许的值:select
(我在此处选择的源),config
(我的 NuGet.config中的源)。 默认值:select
。
可以从此处的 Azure Artifacts 和/或 NuGet.org
中选择源,也可以将 nuget.config
文件提交到源代码存储库,并使用 nugetConfigPath
输入设置其路径。
vstsFeed
-
使用此 Azure Artifacts 源中的包。从下拉列表中选择,或输入 [项目名称/]源名称。
输入别名:feedRestore
。
string
。 自选。 当 selectOrConfig = select && command = restore
时使用。
在生成的 NuGet.config
中包含所选源。 必须安装包管理并获得许可才能在此处选择源。
projectName
/
feedName
用于项目范围的源。 仅 FeedName
用于组织范围的源。 注意:test
命令不支持此操作。
vstsFeed
-
使用此 Azure Artifacts 源中的包
输入别名:feedRestore
。
string
。 自选。 当 selectOrConfig = select && command = restore
时使用。
在生成的 NuGet.config
中包含所选源。 必须安装包管理并获得许可才能在此处选择源。
projectName
/
feedName
用于项目范围的源。 仅 FeedName
用于组织范围的源。 注意:测试命令不支持此操作。
vstsFeed
-
使用此 Azure Artifacts/TFS 源中的包
输入别名:feedRestore
。
string
。 自选。 当 selectOrConfig = select && command = restore
时使用。
在生成的 NuGet.config
中包含所选源。 必须安装包管理并获得许可才能在此处选择源。
projectName
/
feedName
用于项目范围的源。 仅 FeedName
用于组织范围的源。 注意:测试命令不支持此操作。
includeNuGetOrg
-
使用来自 NuGet.org的包
boolean
。 自选。 当 selectOrConfig = select && command = restore
时使用。 默认值:true
。
在生成的 NuGet.org
中包含 NuGet.config
。
nugetConfigPath
-
NuGet.config 的路径
string
。 自选。 当 selectOrConfig = config && command = restore
时使用。
存储库中的 NuGet.config
,用于指定要从中还原包的源。
externalFeedCredentials
-
此组织/集合外部源的凭据
输入别名:externalEndpoints
。
string
。 自选。 当 selectOrConfig = config && command = restore
时使用。
用于所选 NuGet.config
中的外部注册表的凭据。 对于此组织/集合中的源,请将此输入留空;将自动使用生成的凭据。
noCache
-
禁用本地缓存
boolean
。 自选。 当 command = restore
时使用。 默认值:false
。
防止 NuGet 使用本地计算机缓存中的包。
restoreDirectory
-
目标目录
输入别名:packagesDirectory
。
string
。 自选。 当 command = restore
时使用。
指定在其中安装包的文件夹。 如果未指定文件夹,包将还原到默认 NuGet 包缓存中。
verbosityRestore
-
详细程度
string
。 自选。 当 command = restore
时使用。 允许的值:-
、Quiet
、Minimal
、Normal
、Detailed
、Diagnostic
。 默认值:Normal
。
指定 restore
命令的输出中显示的详细信息量。
verbosityRestore
-
详细程度
string
。 自选。 当 command = restore
时使用。 允许的值:-
、Quiet
、Minimal
、Normal
、Detailed
、Diagnostic
。 默认值:Detailed
。
指定 restore
命令的输出中显示的详细信息量。
packagesToPush
-
NuGet 包的路径,用于发布
输入别名:searchPatternPush
。
string
。
command = push
时是必需的。 默认值:$(Build.ArtifactStagingDirectory)/*.nupkg
。
要匹配的模式或要上传 nupkg
文件的路径。 多个模式可以用分号分隔,可以通过以 !
作为前缀来使模式为负。 示例:**/*.nupkg;!**/*.Tests.nupkg
。
nuGetFeedType
-
目标源位置
string
。
command = push
时是必需的。 允许的值:internal
(此组织/集合)、external
(外部 NuGet 服务器(包括其他组织/集合)。 默认值:internal
。
指定目标源是内部源还是外部源。
publishVstsFeed
-
目标源
输入别名:feedPublish
。
string
。
command = push && nuGetFeedType = internal
时是必需的。
指定在此组织中托管的源。 必须安装包管理并获得许可才能在此处选择源。
publishPackageMetadata
-
发布管道元数据
boolean
。 自选。 当 command = push && nuGetFeedType = internal && command = push
时使用。 默认值:true
。
将此生成/发布管道的元数据(运行 #、源代码信息)与包相关联。
publishFeedCredentials
-
NuGet 服务器
输入别名:externalEndpoint
。
string
。
command = push && nuGetFeedType = external
时是必需的。
包含外部 NuGet 服务器的凭据的 NuGet 服务连接。
packagesToPack
-
csproj 或 nuspec 文件的路径以打包
输入别名:searchPatternPack
。
string
。
command = pack
时是必需的。 默认值:**/*.csproj
。
要打包的 .csproj
或 .nuspec
文件的搜索模式。
可以使用分号分隔多个模式,并通过以 !
作为前缀来使模式为负。 示例:**/*.csproj;!**/*.Tests.csproj
。
将配置 configuration
- 打包
输入别名:configurationToPack
。
string
。 自选。 当 command = pack
时使用。 默认值:$(BuildConfiguration)
。
使用 .csproj
文件时,此输入指定要打包的配置。
packDirectory
-
包文件夹
输入别名:outputDir
。
string
。 自选。 当 command = pack
时使用。 默认值:$(Build.ArtifactStagingDirectory)
。
将在其中创建包的文件夹。 如果此文件夹为空,将连同 csproj
文件一起创建包。
nobuild
-
不生成
boolean
。 自选。 当 command = pack
时使用。 默认值:false
。
指定任务在打包之前不会生成项目。 此任务对应于 --no-build
命令的 build
参数。
includesymbols
-
包括符号
boolean
。 自选。 当 command = pack
时使用。 默认值:false
。
创建符号 NuGet 包。 此任务对应于 --include-symbols
命令行参数。
includesource
-
包括源
boolean
。 自选。 当 command = pack
时使用。 默认值:false
。
在包中包含源代码。 此任务对应于 --include-source
命令行参数。
versioningScheme
-
自动包版本控制
string
。
command = pack
时是必需的。 允许的值:off
、byPrereleaseNumber
(使用日期和时间)、byEnvVar
(使用环境变量)、byBuildNumber
(使用内部版本号)。 默认值:off
。
此任务不能与包含的引用项目一起使用。 如果选择 Use the date and time
,则会生成一个 SemVer兼容版本,其格式为 X.Y.Z-ci-datetime
,选择 X
、Y
和 Z
。
如果选择 Use an environment variable
,则必须选择环境变量,并确保它包含要使用的版本号。
如果选择 Use the build number
,将使用内部版本号对包进行版本控制。
注意: 在 Options
下,将内部版本号格式设置为 $(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)
。
versionEnvVar
-
环境变量
string
。
versioningScheme = byEnvVar && command = pack
时是必需的。
指定不带 $
、$env
或 %
的变量名。
majorVersion
-
主要
输入别名:requestedMajorVersion
。
string
。
versioningScheme = byPrereleaseNumber && command = pack
时是必需的。 默认值:1
。
minorVersion
-
次要
输入别名:requestedMinorVersion
。
string
。
versioningScheme = byPrereleaseNumber && command = pack
时是必需的。 默认值:0
。
patchVersion
-
Patch
输入别名:requestedPatchVersion
。
string
。
versioningScheme = byPrereleaseNumber && command = pack
时是必需的。 默认值:0
。
buildProperties
-
其他生成属性
string
。 自选。 当 command = pack
时使用。
指定由分号分隔的 token = value
对列表,其中 $token$
文件中 .nuspec
的每个匹配项都将替换为给定值。 值可以是引号中的字符串。
verbosityPack
-
详细程度
string
。 自选。 当 command = pack
时使用。 允许的值:-
、Quiet
、Minimal
、Normal
、Detailed
、Diagnostic
。 默认值:Normal
。
指定 pack
命令的输出中显示的详细信息量。
verbosityPack
-
详细程度
string
。 自选。 当 command = pack
时使用。 允许的值:-
、Quiet
、Minimal
、Normal
、Detailed
、Diagnostic
。 默认值: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)
。
requestTimeout
-
设置包下载请求的超时
string
。 默认值:300000
。
为任务为获取 .NET 包而发出的 HTTP 请求提供超时值。 该值以毫秒计。 默认值为 300000 毫秒(5 分钟)。 不能超过 600000 毫秒(10 分钟)。
任务控制选项
除任务输入之外,所有任务都具有控制选项。 有关详细信息,请参阅 控件选项和常见任务属性。
输出变量
没有。
言论
重要
NuGet 身份验证 任务是使用 Azure Artifacts 和其他 NuGet 存储库进行身份验证的新推荐方法。 此 .NET Core CLI 任务的 restore
和 push
命令不再采用新功能,仅解决关键 bug。
在集成测试中使用 AzurePipelinesCredential
适用于 .NET、C++、Go、Java、JavaScript 和 Python 的 Azure 标识库 支持工作负荷联合身份验证,因此,从 AzureCLI@2 和 AzurePowerShell@5 任务执行的代码可以使用 Microsoft Entra ID(例如,访问 Azure)使用 AzurePipelinesCredential
类进行身份验证。
许多客户都在从其他任务调用的集成测试中使用 Azure SDK 客户端库。
DotNetCoreCLI@2、Maven@4 和 VSTest@3 任务可以使用 AzurePipelinesCredential
类访问 Azure 资源。
可以将 connectedServiceName
属性设置为使用工作负荷标识联合配置的 Azure 服务连接。
AzurePipelinesCredential
需要设置 SYSTEM_ACCESSTOKEN。
以下示例演示 connectedServiceName
任务上的 DotNetCoreCLI@2
输入。
VSTest@3
和 Maven@4
用法类似。
- task: DotNetCoreCLI@2
inputs:
command: 'run'
connectedServiceName: <Azure service connection configured with workload identity federation>
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
有关 AzurePipelinesCredential
的详细信息,请参阅 使用 AzurePipelinesCredential改进 Azure 服务连接中的安全状况。
为什么生成、发布或测试步骤无法还原包?
大多数 dotnet
命令,包括 build
、publish
和 test
都包含隐式 restore
步骤。 即使你在前面的步骤中运行了成功的 dotnet restore
,这也会针对经过身份验证的源失败,因为前面的步骤将清理所使用的凭据。
若要解决此问题,请将 --no-restore
标志添加到 Arguments
文本框中。
此外,test
命令无法识别 feedRestore
或 vstsFeed
参数,在隐式 NuGet.config
步骤运行时,以这种方式指定的源将不会包含在生成的 restore
文件中。 建议使用显式 dotnet restore
步骤还原包。
restore
命令遵循 feedRestore
和 vstsFeed
参数。
为什么在使用 包源映射 时收到 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,经典版本,经典版本 |
运行时间 | 代理 |
需求 | 没有 |
功能 | 此任务不满足作业中后续任务的任何要求。 |
命令限制 | 任何 |
|
任何 |
代理版本 | 2.144.0 或更高版本 |
任务类别 | 建 |