UseDotNet@2 - Menggunakan tugas dotnet v2

Gunakan tugas ini untuk memperoleh versi tertentu dari .NET Core SDK dari internet atau cache lokal dan menambahkannya ke PATH. Gunakan tugas ini untuk mengubah versi .NET Core yang digunakan dalam tugas berikutnya. Tugas ini juga menyediakan dukungan proksi.

Sintaksis

# 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.
    #checkForExistingVersion: false # boolean. Check for existing installation. Default: false.
    #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.
    #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.

Input

packageType - Paket untuk dipasang
string. Nilai yang diizinkan: runtime, sdk (SDK (berisi runtime)). Nilai default: sdk.

Menentukan apakah hanya akan menginstal runtime .NET atau SDK.


useGlobalJson - Gunakan json global
boolean. Fakultatif. Gunakan saat packageType = sdk. Nilai default: false.

Menginstal semua SDK dari global.json file. File-file ini dicari dari system.DefaultWorkingDirectory. Anda dapat mengubah jalur akar pencarian dengan mengatur input direktori kerja.

Tugas juga membaca sdk.rollForward properti dari global.json dan menginstal versi terbaru yang memenuhi kebijakan roll-forward yang ditentukan. Misalnya, jika Anda global.json menentukan "version": "8.0.302" dengan "rollForward": "latestFeature", tugas menginstal SDK terbaru 8.0.x alih-alih versi persisnya. Jika sdk.rollForward tidak ada, tugas akan menginstal versi persis yang ditentukan dalam sdk.version, yang sesuai dengan perilaku sebelumnya. Untuk informasi lebih lanjut tentang nilai yang didukung rollForward , lihat bagian Catatan dan ikhtisarglobal.json.

Format 6.x and (menggunakan .x sebagai wildcard) yang dijelaskan dalam UseDotNet@2.version input digunakan dalam version input tugas, bukan sdk.version parameter dalam global.json6.1.x .

Jika Anda menerima pesan kesalahan seperti ##[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. dan sedang global.jsondigunakan, centang di sdk.versionglobal.json.

Untuk informasi selengkapnya tentang global.json, lihat Pilih versi .NET yang akan digunakan.


Direktori Kerja
string. Fakultatif. Gunakan saat useGlobalJson = true.

Menentukan jalur dari mana global.json file harus dicari saat menggunakan useGlobalJson. Jika nilainya kosong, system.DefaultWorkingDirectory akan dianggap sebagai jalur root.


version - Versi
string. Fakultatif. Gunakan saat useGlobalJson = false || packageType = runtime.

Menentukan versi .NET Core SDK atau runtime yang akan diinstal. Format nilai versi ditampilkan dengan contoh:

  • 2.x: Menginstal SDK atau runtime terbaru dengan versi utama yang ditentukan, 2.
  • 3.1.x: Menginstal SDK atau runtime terbaru dengan versi mayor dan minor yang ditentukan, 3 dan 1.
  • 3.1.402: Menginstal SDK atau versi runtime yang ditentukan, 3.1.402.

Nilai versi untuk instalasi SDK atau runtime ada di releases.json dalam file. Tautan ke versi releases.json mayor/minor ada di file indeks rilis . Misalnya, tautan ke filereleases.json untuk versi 3.1.


vsVersion - Versi Visual Studio yang kompatibel
string.

Menentukan versi Visual Studio yang kompatibel untuk penginstalan .NET Core SDK yang sesuai. Nilai tersebut harus berupa nomor versi lengkap, seperti 16.6.4, yang berisi versi mayor, versi minor, dan nomor patch.

Nilai versi untuk instalasi SDK atau runtime, yang digunakan untuk version string, ada di releases.json dalam file. Tautan ke versi releases.json mayor/minor ada di file indeks rilis . Misalnya, tautan ke filereleases.json untuk versi 3.1.


checkForExistingVersion - Periksa instalasi yang sudah ada
boolean. Nilai default: false.

Pilih apakah Anda ingin mendeteksi apakah versi yang ditentukan sudah diinstal sebelum mencoba mengunduh. Gunakan hanya saat installationPath Kosong yaitu diatur ke nilai default.


includePreviewVersions - Sertakan Versi Pratinjau
boolean. Fakultatif. Gunakan saat useGlobalJson = false || packageType = runtime. Nilai default: false.

Jika diatur ke true, termasuk versi pratinjau saat tugas mencari versi runtime/SDK terbaru, seperti mencari 2.2.x atau 3.1.x. Pengaturan ini diabaikan jika Anda menentukan versi yang tepat, seperti 3.0.100-preview3-010431.


installationPath - Jalur untuk Menginstal .Net Core
string. Nilai default: $(Agent.ToolsDirectory)/dotnet.

Menentukan tempat .NET Core SDK/Runtime harus diinstal. Jalur yang berbeda dapat memiliki dampak berikut pada perilaku .NET.

  • $(Agent.ToolsDirectory): Menggunakan jalur ini menyimpan instalasi di agen, karena direktori ini tidak dibersihkan di seluruh pipeline. Semua alur yang berjalan pada agen memiliki akses ke versi yang diinstal sebelumnya.
  • $(Agent.TempDirectory): Menggunakan jalur ini memastikan bahwa alur tidak menggunakan versi cache .NET Core, karena folder ini dibersihkan setelah setiap alur.
  • Jalur lain: Anda dapat menggunakan jalur apa pun jika proses agen memiliki akses ke jalur tersebut. Ini akan mengubah status komputer dan berdampak pada semua proses yang berjalan di atasnya.

Nota

Anda dapat menggunakan pengaturan Multi-Level Lookup, performMultiLevelLookup, untuk mengonfigurasi cara host .NET mencari versi.


performMultiLevelLookup - Lakukan Pencarian Multi Level
boolean. Nilai default: false.

Mengonfigurasi perilaku proses host .NET saat mencari kerangka kerja bersama yang sesuai. Nilainya adalah:

  • false: Proses host hanya mencari versi yang ada di folder yang ditentukan oleh tugas.
  • true: Proses host akan mencari di lokasi global yang telah ditentukan menggunakan pencarian multi-level. Lokasi global default adalah:
    • C:\Program Files\dotnet (Proses 64-bit)
    • C:\Program Files (x86)\dotnet (Proses 32-bit)

Pelajari lebih lanjut tentang pencarian SharedFX multi-level.

Nota

performMultiLevelLookup hanya berlaku untuk agen berbasis Windows.


requestTimeout - Mengatur batas waktu untuk permintaan unduhan paket
string. Nilai default: 300000.

Berikan nilai batas waktu untuk permintaan HTTP yang dibuat tugas untuk mendapatkan paket .NET. Nilainya dalam milidetik. Defaultnya adalah 300000 milidetik (5 menit). Tidak boleh lebih dari 600000 milidetik (10 menit).


Opsi kontrol tugas

Semua tugas memiliki opsi kontrol selain input tugasnya. Untuk informasi selengkapnya, lihat opsi Kontrol dan properti tugas umum.

Variabel output

Tidak.

Komentar

Tugas Gunakan .NET Inti memperoleh versi tertentu .NET Core dari inte rnet atau cache alat dan menambahkannya ke PATH Agen Azure Pipelines (dihosting atau pribadi). Gunakan tugas ini untuk mengubah versi .NET Core yang digunakan dalam tugas berikutnya seperti DotNetCoreCLI@2. Menambahkan tugas ini sebelum DotNetCoreCLI@2 dalam definisi build memastikan bahwa versi tersebut akan tersedia saat membangun, menguji, dan mempublikasikan aplikasi Anda.

Pendekatan alat penginstal juga memungkinkan Anda memisahkan dari siklus pembaruan agen. Jika versi .NET Core yang Anda cari tidak ada dari agen Azure Pipelines (Dihosting atau Pribadi), maka Anda dapat menggunakan tugas ini untuk menginstal versi yang tepat pada agen.

Dukungan roll-forward dengan global.json

Ketika useGlobalJson diatur ke true, tugas membaca sdk.rollForward properti dari file Anda global.json dan menginstal versi SDK terbaru yang memenuhi kebijakan roll-forward yang ditentukan. Untuk disable, patch, feature, , dan minor kebijakan, ini sesuai dengan bagaimana CLI .NET menyelesaikan versi SDK secara lokal; major dan latestMajor saat ini diselesaikan dalam versi utama yang sama.

Jika sdk.rollForward tidak ada di , global.jsontugas akan menginstal versi persis yang ditentukan di sdk.version. Ini sesuai dengan perilaku sebelumnya.

Tabel berikut menunjukkan bagaimana setiap rollForward nilai memengaruhi resolusi versi:

nilai rollForward Behavior Contoh: versi 8.0.302 diselesaikan ke
disable Menginstal versi persis yang ditentukan. 8.0.302
patch Menginstal patch terbaru dalam pita fitur yang sama. Terbaru >=8.0.300 <8.0.400
latestPatch Sama seperti patch. Terbaru >=8.0.300 <8.0.400
feature Menginstal pita fitur terbaru dalam versi major.minor yang sama. Terbaru 8.0.x
latestFeature Sama seperti feature. Terbaru 8.0.x
minor Menginstal versi minor terbaru dalam versi mayor yang sama. Terbaru 8.x
latestMinor Sama seperti minor. Terbaru 8.x
major Menginstal versi terbaru dalam versi utama yang sama. Terbaru 8.x
latestMajor Sama seperti major. Terbaru 8.x

Nota

Pada UseDotNet@2, kebijakan dan majorlatestMajor saat ini hanya diselesaikan dalam versi utama yang sama. Resolusi versi lintas mayor belum didukung.

Jika global.json berisi nilai yang tidak dikenali rollForward , tugas mencatat peringatan dan kembali menginstal versi yang tepat seperti yang ditentukan dalam sdk.version.

Untuk spesifikasi lengkap nilai rollForward , lihat global.json gambaran umum.

Examples

Instal pita fitur terbaru menggunakan global.json

File berikut global.json menentukan versi 8.0.302 SDK dengan rollForward pengaturan ke latestFeature. Tugas menginstal SDK terbaru 8.0.x yang tersedia.

{
  "sdk": {
    "version": "8.0.302",
    "rollForward": "latestFeature"
  }
}
steps:
- task: UseDotNet@2
  displayName: 'Install .NET SDK from global.json'
  inputs:
    packageType: 'sdk'
    useGlobalJson: true

Instal patch terbaru dalam pita fitur menggunakan global.json

File berikut global.json menentukan versi 8.0.302 SDK dengan rollForward pengaturan ke latestPatch. Tugas ini menginstal versi SDK terbaru dalam 8.0.3xx pita fitur.

{
  "sdk": {
    "version": "8.0.302",
    "rollForward": "latestPatch"
  }
}
steps:
- task: UseDotNet@2
  displayName: 'Install .NET SDK from global.json'
  inputs:
    packageType: 'sdk'
    useGlobalJson: true

Persyaratan

Syarat Deskripsi
Jenis alur YAML, Build klasik, Rilis klasik
Berjalan pada Agen, DeploymentGroup
Permintaan Tidak
Capabilities Menjalankan tugas ini memenuhi tuntutan berikut untuk tugas-tugas berikutnya dalam pekerjaan yang sama: DotNetCore
pembatasan Perintah Apa pun
variabel yang Dapat Diatur Apa pun
Versi agen 2.144.0 atau lebih tinggi
Kategori tugas Alat

Baca juga