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

输入

packageType - 要安装的包
string. 允许的值: runtimesdk (SDK (包含 runtime) ) 。 默认值:sdk

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


useGlobalJson - 使用全局 json
boolean. 可选。 在 时 packageType = sdk使用 。 默认值:false

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

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

如果收到类似于 ##[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,检查 sdk.version 中的 global.json

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


workingDirectory - 工作目录
string. 可选。 在 时 useGlobalJson = true使用 。

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


version - 版本
string. 可选。 在 时 useGlobalJson = false || packageType = runtime使用 。

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

  • 2.x:安装具有指定主版本 2的最新 SDK 或运行时。
  • 3.1.x:安装具有指定的主要版本和次要版本 31的最新 SDK 或运行时。
  • 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:安装具有指定主版本 2的最新 SDK 或运行时。
  • 3.1.x:安装具有指定的主要版本和次要版本 31的最新 SDK 或运行时。
  • 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/运行时的位置。 不同的路径可能会对 产生以下影响。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 的代理。


任务控件选项

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

输出变量

无。

备注

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

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

要求

要求 说明
管道类型 YAML,经典内部版本,经典发布
运行平台 Agent、DeploymentGroup
需求
功能 运行此任务可满足同一作业中任何后续任务的以下 要求 :DotNetCore
命令限制 任意
可设置的变量 任意
代理版本 2.144.0 或更高版本
任务类别 工具
要求 说明
管道类型 YAML,经典内部版本,经典发布
运行平台 Agent、DeploymentGroup
需求
功能 运行此任务可满足同一作业中任何后续任务的以下 要求 :DotNetCore
命令限制 任意
可设置的变量 任意
代理版本 所有支持的代理版本。
任务类别 工具