UseDotNet@2 — użyj zadania dotnet v2

Użyj tego zadania, aby pobrać konkretną wersję SDK .NET Core z internet lub lokalnej pamięci podręcznej i dodać ją do ŚCIEŻKI. Użyj tego zadania, aby zmienić wersję .NET Core używaną w kolejnych zadaniach. To zadanie zapewnia również obsługę serwera proxy.

Składnia

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

Wejścia

packageType - Pakiet do instalacji
string. Dozwolone wartości: runtime, sdk (SDK (zawiera czas działania)). Wartość domyślna: sdk.

Określa, czy instalować tylko środowisko uruchomienia .NET, czy SDK.


useGlobalJson - Użyj globalnego json
boolean. Fakultatywny. Użyj polecenia , gdy packageType = sdk. Wartość domyślna: false.

Instaluje wszystkie SDK z global.json plików. Te pliki są przeszukiwane z .system.DefaultWorkingDirectory Ścieżkę katalogu głównego wyszukiwania można zmienić, ustawiając dane wejściowe katalogu roboczego.

Zadanie odczytuje sdk.rollForward również tę właściwość z i global.json instaluje najnowszą wersję, która spełnia określoną politykę roll-forward. Na przykład, jeśli poda global.json"version": "8.0.302" się z "rollForward": "latestFeature", zadanie instaluje najnowsze 8.0.x SDK zamiast dokładnej wersji. Jeśli sdk.rollForward nie jest obecny, zadanie instaluje dokładnie wersję określoną w sdk.version, która odpowiada poprzedniemu zachowaniu. Więcej informacji o wartościach wspieranych rollForward można znaleźć w sekcji Uwagi oraz przeglądzieglobal.json.

Format 6.x and (używany .x jako karta dzika) opisany w wejściu UseDotNet@2.version służy do użycia w wejściu version zadania, a nie parametru sdk.version w global.json6.1.x .

Jeśli otrzymasz komunikat o błędzie typu ##[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. i używasz global.json, sprawdź w sdk.version swoim .global.json

Więcej informacji o global.json można znaleźć w Wybierz wersję .NET do użycia.


katalogu roboczego workingDirectory -
string. Fakultatywny. Użyj polecenia , gdy useGlobalJson = true.

Określa ścieżkę, z której global.json należy przeszukiwać pliki przy użyciu useGlobalJson. Jeśli wartość jest pusta, system.DefaultWorkingDirectory będzie traktowana jako ścieżka korzeniowa.


version - wersja
string. Fakultatywny. Użyj polecenia , gdy useGlobalJson = false || packageType = runtime.

Określa wersję SDK .NET Core lub środowiska uruchomieniowego do instalacji. Formaty wartości wersji są wyświetlane z przykładami:

  • 2.x: Instaluje najnowsze SDK lub środowisko uruchomieniowe z określoną wersją główną, 2.
  • 3.1.x: Instaluje najnowsze SDK lub środowisko uruchomieniowe z określonymi wersjami głównymi i pobocznymi, 3 oraz 1.
  • 3.1.402: Instaluje określone SDK lub wersję wykonawczą, 3.1.402.

Wartości wersji dla SDK lub instalacji w czasie uruchomienia znajdują się w pliku releases.json . Link do releases.json wersji major/minor znajduje się w pliku releases-index . Na przykład link do plikureleases.json dla wersji 3.1.


vsVersion - Kompatybilna wersja Visual Studio
string.

Określa kompatybilną wersję Visual Studio dla odpowiadającej instalacji .NET Core SDK. Wartość ta musi być kompletnym numerem wersji, takim jak 16.6.4, który zawiera wersję główną, wersję poboczną oraz numer poprawki.

Wartości wersji SDK lub instalacji w czasie uruchomienia, które są używane dla tego ciągu version , znajdują się w pliku releases.json . Link do releases.json wersji major/minor znajduje się w pliku releases-index . Na przykład link do plikureleases.json dla wersji 3.1.


checkForExistingVersion - Sprawdź istniejącą instalację
boolean. Wartość domyślna: false.

Zaznacz, czy chcesz wykryć, czy dana wersja jest już zainstalowana, zanim spróbujesz pobrać. Używaj tylko wtedy, gdy installPath jest pusty, czyli ustawiony na wartość domyślną.


includePreviewVersions - Uwzględnij wersje podglądowe
boolean. Fakultatywny. Użyj polecenia , gdy useGlobalJson = false || packageType = runtime. Wartość domyślna: false.

Jeśli ustawione na true, zawiera wersje podglądowe, gdy zadanie wyszukuje najnowsze wersje runtime/SDK, takie jak wyszukiwanie lub 2.2.x3.1.x. To ustawienie jest ignorowane, jeśli podasz dokładną wersję, taką jak 3.0.100-preview3-010431.


installationPath - Ścieżka instalacji rdzenia .Net
string. Wartość domyślna: $(Agent.ToolsDirectory)/dotnet.

Określa, gdzie należy zainstalować SDK/środowisko uruchomieniowe .NET Core. Różne ścieżki mogą mieć następujący wpływ na zachowanie .NET.

  • $(Agent.ToolsDirectory): Używając tej ścieżki, instalacja jest buforowana na agencie, ponieważ katalog ten nie jest czyszczony przez potoki. Wszystkie potoki uruchomione na agencie mają dostęp do poprzednio zainstalowanych wersji.
  • $(Agent.TempDirectory): Użycie tej ścieżki zapewnia, że potok nie używa buforowanej wersji .NET Core, ponieważ ten folder jest czyszczony po każdym potoku.
  • Inna ścieżka: Możesz użyć dowolnej ścieżki, jeśli proces agenta ma do niej dostęp. Spowoduje to zmianę stanu maszyny i wpłynie na wszystkie uruchomione na niej procesy.

Nuta

Możesz użyć ustawienia Multi-Level LookupperformMultiLevelLookup, aby skonfigurować sposób wyszukiwania wersji przez .NET hosta.


performMultiLevelLookup - Wykonaj wielopoziomowe wyszukiwanie
boolean. Wartość domyślna: false.

Konfiguruje zachowanie procesu hosta .NET podczas poszukiwania odpowiedniego współdzielonego frameworka. Wartości to:

  • false: Proces hosta przeszukuje tylko wersje obecne w folderze określonym przez zadanie.
  • true: Proces hosta będzie wyszukiwał w zdefiniowanych globalnych lokalizacjach za pomocą wielopoziomowego wyszukiwania. Domyślne lokalizacje globalne to:
    • C:\Program Files\dotnet (Procesy 64-bitowe)
    • C:\Program Files (x86)\dotnet (procesy 32-bitowe)

Dowiedz się więcej o wielopoziomowym wyszukiwaniu SharedFX.

Nuta

performMultiLevelLookup dotyczy tylko agentów działających w Windows.


requestTimeout - Ustawianie limitu czasu dla żądania pobierania pakietu
string. Wartość domyślna: 300000.

Zapewnij wartość limitu czasu dla żądań HTTP wykonywanych przez zadanie w celu uzyskania pakietu .NET. Wartość jest wyrażona w milisekundach. Wartość domyślna to 300000 milisekund (5 minut). Nie może przekraczać 600000 milisekund (10 minut).


Opcje sterowania zadaniami

Wszystkie zadania mają opcje sterowania oprócz danych wejściowych zadań podrzędnych. Aby uzyskać więcej informacji, zobacz opcje kontroli i typowe właściwości zadań.

Zmienne wyjściowe

Żaden.

Uwagi

Zadanie Use .NET Core pobiera konkretną wersję .NET Core z pamięci podręcznej inte rnet lub narzędzi i dodaje ją do ŚCIEŻKI Azure Pipelines Agenta (hostowanego lub prywatnego). Użyj tego zadania, aby zmienić wersję .NET Core używanej w kolejnych zadaniach, takich jak DotNetCoreCLI@2. Dodanie tego zadania przed DotNetCoreCLI@2 w definicji buildu zapewnia, że wersja będzie dostępna w momencie tworzenia, testowania i publikowania aplikacji.

Podejście instalatora narzędzi umożliwia również oddzielenie od cykli aktualizacji agenta. Jeśli szukanej wersji .NET Core nie ma w agencie Azure Pipelines (hostowanej lub prywatnej), możesz użyć tego zadania, aby zainstalować odpowiednią wersję na agencie.

Wsparcie roll-forward z global.json

Gdy useGlobalJson jest ustawione na true, zadanie odczytuje tę sdk.rollForward właściwość z global.json pliku i instaluje najnowszą wersję SDK, która spełnia określoną politykę roll-forward. Dla disable, patch, feature, i minor polityk to odpowiada temu, jak .NET CLI rozwiązuje wersje SDK lokalnie; major i latestMajor są obecnie rozwiązywane w tej samej głównej wersji.

Jeśli sdk.rollForward nie jest obecny w twoim global.json, zadanie instaluje dokładnie wersję określoną w .sdk.version To pasuje do poprzedniego zachowania.

Poniższa tabela pokazuje, jak każda wartość rollForward wpływa na rozdzielczość wersji:

Wartość rollForward Behavior Przykład: wersja 8.0.302 rozwiązuje się do
disable Instaluje dokładnie tę wersję, którą podał. 8.0.302
patch Instaluje najnowszą łatkę w tym samym paśmie funkcji. Najnowsze >=8.0.300 <8.0.400
latestPatch Tak samo jak patch. Najnowsze >=8.0.300 <8.0.400
feature Instaluje najnowszy pasmo funkcji w tej samej wersji major.minor. Najnowsze 8.0.x
latestFeature Tak samo jak feature. Najnowsze 8.0.x
minor Instaluje najnowszą wersję mniejszą w ramach tej samej głównej wersji. Najnowsze 8.x
latestMinor Tak samo jak minor. Najnowsze 8.x
major Instaluje najnowszą wersję w ramach tej samej głównej wersji. Najnowsze 8.x
latestMajor Tak samo jak major. Najnowsze 8.x

Nuta

W UseDotNet@2 major polityki and latestMajor są obecnie rozwiązywane tylko w tej samej głównej wersji. Rozdzielczość między wersjami głównymi nie jest jeszcze obsługiwana.

Jeśli global.json zawiera nierozpoznaną rollForward wartość, zadanie rejestruje ostrzeżenie i wraca do zainstalowania dokładnej wersji określonej w .sdk.version

Pełną specyfikację rollForward wartości można znaleźć w global.json przeglądzie.

Examples

Zainstaluj najnowszy pakiet funkcji za pomocą global.json

Poniższy global.json plik określa wersję 8.0.302 SDK z ustawieniem rollForward na latestFeature. Zadanie instaluje najnowsze 8.0.x dostępne SDK.

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

Zainstaluj najnowszą poprawkę w ramach paśmie funkcji za pomocą global.json

Poniższy global.json plik określa wersję 8.0.302 SDK z ustawieniem rollForward na latestPatch. Zadanie instaluje najnowszą wersję SDK w paśmie 8.0.3xx funkcji.

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

Wymagania

Wymaganie Opis
Typy potoków YAML, klasyczna kompilacja, wersja klasyczna
Działa na Agent, grupa wdrożeniowa
Wymagania Żaden
Możliwości Uruchomienie tego zadania spełnia następujące wymagania dotyczące kolejnych zadań w tym samym zadaniu: DotNetCore
ograniczenia poleceń Jakikolwiek
zmienne ustawiane Jakikolwiek
Wersja agenta 2.144.0 lub nowsza
Kategoria zadań Narzędzie

Zobacz także