UseDotNet@2 - 使用 dotnet v2 任务

使用此任务从 Internet 或本地缓存获取特定版本的 .NET Core SDK,并将其添加到 PATH。 使用此任务可更改后续任务中使用的 .NET Core 版本。 此任务还提供代理支持。

语法

# Use .NET Core v2
# Acquires a specific version of the .NET Core SDK from the internet or the local cache and adds it to the PATH. Use this task to change the version of .NET Core used in subsequent tasks. Additionally provides proxy support.
- task: UseDotNet@2
  inputs:
    #packageType: 'sdk' # 'runtime' | 'sdk'. Package to install. Default: sdk.
    #useGlobalJson: false # boolean. Optional. Use when packageType = sdk. Use global json. Default: false.
    #workingDirectory: # string. Optional. Use when useGlobalJson = true. Working Directory. 
    #version: # string. Optional. Use when useGlobalJson = false || packageType = runtime. Version. 
    #includePreviewVersions: false # boolean. Optional. Use when useGlobalJson = false  || packageType = runtime. Include Preview Versions. Default: false.
    #requestTimeout: '300000' # string. Set timeout for package download request. Default: 300000.
  # Advanced
    #vsVersion: # string. Compatible Visual Studio version. 
    #installationPath: '$(Agent.ToolsDirectory)/dotnet' # string. Path To Install .Net Core. Default: $(Agent.ToolsDirectory)/dotnet.
    #performMultiLevelLookup: false # boolean. Perform Multi Level Lookup. Default: false.
# Use .NET Core v2
# Acquires a specific version of the .NET Core SDK from the internet or the local cache and adds it to the PATH. Use this task to change the version of .NET Core used in subsequent tasks. Additionally provides proxy support.
- task: UseDotNet@2
  inputs:
    #packageType: 'sdk' # 'runtime' | 'sdk'. Package to install. Default: sdk.
    #useGlobalJson: false # boolean. Optional. Use when packageType = sdk. Use global json. Default: false.
    #workingDirectory: # string. Optional. Use when useGlobalJson = true. Working Directory. 
    #version: # string. Optional. Use when useGlobalJson = false || packageType = runtime. Version. 
    #includePreviewVersions: false # boolean. Optional. Use when useGlobalJson = false  || packageType = runtime. Include Preview Versions. Default: false.
  # Advanced
    #vsVersion: # string. Compatible Visual Studio version. 
    #installationPath: '$(Agent.ToolsDirectory)/dotnet' # string. Path To Install .Net Core. Default: $(Agent.ToolsDirectory)/dotnet.
    #performMultiLevelLookup: false # boolean. Perform Multi Level Lookup. Default: false.
# Use .NET Core v2
# Acquires a specific version of the .NET Core SDK from the internet or the local cache and adds it to the PATH. Use this task to change the version of .NET Core used in subsequent tasks. Additionally provides proxy support.
- task: UseDotNet@2
  inputs:
    #packageType: 'sdk' # 'runtime' | 'sdk'. Package to install. Default: sdk.
    #useGlobalJson: false # boolean. Optional. Use when packageType = sdk. Use global json. Default: false.
    #workingDirectory: # string. Optional. Use when useGlobalJson = true. Working Directory. 
    #version: # string. Optional. Use when useGlobalJson = false || packageType = runtime. Version. 
    #includePreviewVersions: false # boolean. Optional. Use when useGlobalJson = false  || packageType = runtime. Include Preview Versions. Default: false.
  # Advanced
    #installationPath: '$(Agent.ToolsDirectory)/dotnet' # string. Path To Install .Net Core. Default: $(Agent.ToolsDirectory)/dotnet.
    #performMultiLevelLookup: false # boolean. Perform Multi Level Lookup. Default: false.
# Use dotnet v2
# Acquires a specific version of the .NET Core SDK from the internet or the local cache and adds it to the PATH. Use this task to change the version of .NET Core used in subsequent tasks. Additionally provides proxy support.
- task: UseDotNet@2
  inputs:
    #packageType: 'sdk' # 'runtime' | 'sdk'. Package to install. Default: sdk.
    #version: # string. Version. 
    #includePreviewVersions: false # boolean. Include Preview Versions. Default: false.
  # Advanced
    #installationPath: '$(Agent.ToolsDirectory)/dotnet' # string. Path To Install .Net Core. Default: $(Agent.ToolsDirectory)/dotnet.
    #performMultiLevelLookup: false # boolean. Perform Multi Level Lookup. Default: false.

输入

要安装 的
string。 允许的值:runtimesdk(SDK(包含运行时))。 默认值:sdk

指定是仅安装 .NET 运行时还是 SDK。


useGlobalJson - 使用全局 json
boolean。 自选。 当 packageType = sdk时使用。 默认值:false

global.json 文件安装所有 SDK。 从 system.DefaultWorkingDirectory搜索这些文件。 可以通过设置工作目录输入来更改搜索根路径。

UseDotNet@2.version 输入中描述的 6.x6.1.x 格式(使用 .x 作为通配符)用于任务中的 version 输入,而不是 global.json中的 sdk.version 参数。

如果收到 ##[error]Version 6.0.x is not allowed. Allowed version types are: majorVersion.x, majorVersion.minorVersion.x, majorVersion.minorVersion.patchVersion. More details: Only explicit versions and accepted, such as: 2.2.301. Version: 6.0.x is not valid. 等错误消息,并且正在使用 global.json,请检查 global.json中的 sdk.version

有关 global.json的详细信息,请参阅 选择要使用的 .NET 版本。


workingDirectory - 工作目录
string。 自选。 当 useGlobalJson = true时使用。

指定使用 useGlobalJson时应从中搜索 global.json 文件的路径。 如果值为空,system.DefaultWorkingDirectory 将被视为根路径。


version - 版本
string。 自选。 当 useGlobalJson = false || packageType = runtime时使用。

指定要安装的 .NET Core SDK 或运行时的版本。 版本值格式以示例显示:

  • 2.x:使用指定的主版本安装最新的 SDK 或运行时,2
  • 3.1.x:使用指定的主版本和次要版本安装最新的 SDK 或运行时,31
  • 3.1.402:安装指定的 SDK 或运行时版本,3.1.402

SDK 或运行时安装的版本值位于 releases.json 文件中。 主要/次要版本的 releases.json 的链接位于 releases-index 文件中。 例如,指向版本 3.1的 releases.json 文件的链接。


version - 版本
string

指定要安装的 .NET Core SDK 或运行时的版本。 版本值格式以示例显示:

  • 2.x:使用指定的主版本安装最新的 SDK 或运行时,2
  • 3.1.x:使用指定的主版本和次要版本安装最新的 SDK 或运行时,31
  • 3.1.402:安装指定的 SDK 或运行时版本,3.1.402

SDK 或运行时安装的版本值位于 releases.json 文件中。 主要/次要版本的 releases.json 的链接位于 releases-index 文件中。 例如,指向版本 3.1的 releases.json 文件的链接。


vsVersion - 兼容的 Visual Studio 版本
string

为相应的 .NET Core SDK 安装指定兼容的 Visual Studio 版本。 该值必须是完整的版本号,例如 16.6.4,其中包含主版本、次要版本和修补程序号。

SDK 或运行时安装的版本值(用于 version 字符串)位于 releases.json 文件中。 主要/次要版本的 releases.json 的链接位于 releases-index 文件中。 例如,指向版本 3.1的 releases.json 文件的链接。


includePreviewVersions - 包括预览版
boolean。 自选。 当 useGlobalJson = false || packageType = runtime时使用。 默认值:false

如果设置为 true,则当任务搜索最新的运行时/SDK 版本时,包括预览版本,例如搜索 2.2.x3.1.x。 如果指定确切版本(如 3.0.100-preview3-010431),则忽略此设置。


includePreviewVersions - 包括预览版
boolean。 默认值:false

如果设置为 true,则当任务搜索最新的运行时/SDK 版本时,包括预览版本,例如搜索 2.2.x3.1.x。 如果指定确切版本(如 3.0.100-preview3-010431),则忽略此设置。


installationPath - 安装 .Net Core 的路径
string。 默认值:$(Agent.ToolsDirectory)/dotnet

指定应安装 .NET Core SDK/Runtime 的位置。 不同的路径可能会对以下问题产生影响。NET 的行为。

  • $(Agent.ToolsDirectory):使用此路径可缓存代理上的安装,因为未跨管道清理此目录。 代理上运行的所有管道都有权访问以前安装的版本。
  • $(Agent.TempDirectory):使用此路径可确保管道不使用 .NET Core 的缓存版本,因为每个管道后都会清理此文件夹。
  • 另一个路径:如果代理进程有权访问路径,则可以使用任何路径。 这将更改计算机的状态,并影响其上运行的所有进程。

注意

可以使用 多级查找 设置 performMultiLevelLookup来配置 .NET 主机如何搜索版本。


performMultiLevelLookup - 执行多级查找
boolean。 默认值:false

在搜索合适的共享框架时配置 .NET 主机进程的行为。 值为:

  • false:主机进程仅搜索任务指定的文件夹中存在的版本。
  • true:主机进程将使用多级查找在预定义的全局位置中搜索。 默认全局位置为:
    • C:\Program Files\dotnet (64 位进程)
    • C:\Program Files (x86)\dotnet (32 位进程)

详细了解 多级 SharedFX 查找

注意

performMultiLevelLookup 仅适用于基于 Windows 的代理。


requestTimeout - 设置包下载请求的超时
string。 默认值:300000

为任务为获取 .NET 包而发出的 HTTP 请求提供超时值。 该值以毫秒为单位。 默认值为 300000 毫秒(5 分钟)。 不能超过 600000 毫秒(10 分钟)。


任务控制选项

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

输出变量

没有。

言论

使用 .NET Core 任务从 Internet 或工具缓存获取特定版本的 .NET Core,并将其添加到 Azure Pipelines 代理的 PATH(托管或专用)。 使用此任务可更改后续任务中使用的 .NET Core 版本,例如 DotNetCoreCLI@2。 在生成定义中的 DotNetCoreCLI@2 之前添加此任务可确保在生成、测试和发布应用时提供版本。

工具安装程序方法还允许从代理更新周期中分离。 如果 Azure Pipelines 代理(托管或专用)缺少要查找的 .NET Core 版本,则可以使用此任务在代理上安装正确的版本。

要求

要求 描述
管道类型 YAML,经典版本,经典版本
运行时间 代理,DeploymentGroup
需求 没有
功能 运行此任务满足以下 要求 同一作业中的任何后续任务:DotNetCore
命令限制 任何
Settable 变量 任何
代理版本 2.144.0 或更高版本
任务类别 工具
要求 描述
管道类型 YAML,经典版本,经典版本
运行时间 代理,DeploymentGroup
需求 没有
功能 运行此任务满足以下 要求 同一作业中的任何后续任务:DotNetCore
命令限制 任何
Settable 变量 任何
代理版本 所有支持的代理版本。
任务类别 工具