UseDotNet@2 – Použití úlohy dotnet v2

Použijte tuto úlohu k získání konkrétní verze .NET Core SDK z internet nebo lokální cache a přidejte ji do PATH. Použijte tuto úlohu ke změně verze .NET Core, která se používá v následujících úlohách. Tato úloha také poskytuje podporu proxy serveru.

Syntaxe

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

Vstupy

packageType - Balíček k instalaci
string. Povolené hodnoty: runtime, ( sdk SDK (obsahuje runtime)). Výchozí hodnota: sdk.

Specifikuje, zda se instaluje pouze .NET runtime nebo SDK.


useGlobalJson - Použijte globální json
boolean. Volitelný. Používá se při packageType = sdk. Výchozí hodnota: false.

Nainstaluje všechny SDK ze global.json souborů. Tyto soubory jsou vyhledávány z system.DefaultWorkingDirectory. Kořenovou cestu vyhledávání můžete změnit nastavením vstupu pracovního adresáře.

Úkol také čte sdk.rollForward vlastnost z a global.json instaluje nejnovější verzi, která splňuje specifikovanou roll-forward politiku. Například pokud uvedete global.json"version": "8.0.302" s "rollForward": "latestFeature", úkol nainstaluje nejnovější 8.0.x SDK místo přesné verze. Pokud sdk.rollForward není přítomen, úkol nainstaluje přesnou verzi uvedenou v sdk.version, která odpovídá předchozímu chování. Pro více informací o podporovaných rollForward hodnotách viz sekce Poznámky a přehledglobal.json.

Formát 6.x and 6.1.x (používaný .x jako žolík) popsaný ve vstupu UseDotNet@2.version je určen pro použití v zadání version úkolu, nikoli sdk.version parametr v global.json.

Pokud dostanete chybovou zprávu jako ##[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. a používáte global.json, zkontrolujte ve sdk.version svém .global.json

Pro více informací o global.json viz Vyberte .NET verzi pro použití.


workingDirectory - pracovní adresář
string. Volitelný. Používá se při useGlobalJson = true.

Specifikuje cestu, odkud global.json by měly být soubory prohledávány při použití useGlobalJson. Pokud je hodnota prázdná, system.DefaultWorkingDirectory bude považována za kořenovou cestu.


version - verze
string. Volitelný. Používá se při useGlobalJson = false || packageType = runtime.

Specifikuje verzi .NET Core SDK nebo runtime pro instalaci. Formáty hodnot verzí se zobrazují s příklady:

  • 2.x: Instaluje nejnovější SDK nebo runtime s danou hlavní verzí, 2.
  • 3.1.x: Instaluje nejnovější SDK nebo runtime s určenými hlavními a vedlejšími verzemi, 3 a 1.
  • 3.1.402: Instaluje specifikované SDK nebo runtime verzi, 3.1.402.

Verze pro SDK nebo runtime instalace jsou v souboru releases.json . Odkaz na releases.json hlavní a vedlejší verzi je v souboru indexu vydání . Například odkaz na releases.json soubor pro verzi 3.1.


vsVersion - kompatibilní Visual Studio verzi
string.

Specifikuje kompatibilní verzi Visual Studio pro odpovídající instalaci .NET Core SDK. Hodnota musí být kompletní číslo verze, například 16.6.4, které obsahuje hlavní verzi, vedlejší verzi a číslo patche.

Verze pro SDK nebo runtime instalace, které se používají pro version řetězec, jsou v souboru releases.json . Odkaz na releases.json hlavní a vedlejší verzi je v souboru indexu vydání . Například odkaz na releases.json soubor pro verzi 3.1.


checkForExistingVersion - Zkontrolujte stávající instalaci
boolean. Výchozí hodnota: false.

Vyber, jestli chceš zjistit, jestli je daná verze už nainstalovaná, než se pokusíš o stažení. Používejte pouze tehdy, když je installPath prázdný, tj. nastavený na výchozí hodnotu.


includePreviewVersions - Zahrnout ukázkové verze
boolean. Volitelný. Používá se při useGlobalJson = false || packageType = runtime. Výchozí hodnota: false.

Pokud je nastaveno na true, zahrnuje náhledové verze, když úloha hledá nejnovější verze runtime/SDK, například při vyhledávání nebo 2.2.x3.1.x. Toto nastavení se ignoruje, pokud specifikujete přesnou verzi, například 3.0.100-preview3-010431.


installationPath - Cesta k instalaci .Net Core
string. Výchozí hodnota: $(Agent.ToolsDirectory)/dotnet.

Specifikuje, kde by měl být instalován .NET Core SDK/runtime. Různé cesty mohou mít následující dopad na chování .NET.

  • $(Agent.ToolsDirectory): Použitím této cesty se instalace na agentovi ukládá do mezipaměti, protože tento adresář není napříč pipeline vyčištěn. Všechny kanály spuštěné v agentu mají přístup k dříve nainstalovaným verzím.
  • $(Agent.TempDirectory): Použití této cesty zajišťuje, že pipeline nepoužívá cacheovanou verzi .NET Core, protože tato složka se po každém pipeline vymaže.
  • Další cesta: Můžete použít jakoukoli cestu, pokud má agentní proces přístup k této cestě. Tím se změní stav počítače a ovlivní všechny procesy, které na něm běží.

Poznámka

Můžete použít nastavení Multi-Level LookupperformMultiLevelLookup, abyste nakonfigurovali, jak .NET host vyhledává verze.


performMultiLevelLookup - Provést víceúrovňové vyhledávání
boolean. Výchozí hodnota: false.

Konfiguruje chování hostitelského procesu .NET při hledání vhodného sdíleného rámce. Jedná se o následující hodnoty:

  • false: Hostitelský proces vyhledává pouze verze, které jsou přítomny ve složce určené úkolem.
  • true: Hostitelský proces bude vyhledávat v předdefinovaných globálních místech pomocí víceúrovňového vyhledávání. Výchozí globální umístění jsou:
    • C:\Program Files\dotnet (64bitové procesy)
    • C:\Program Files (x86)\dotnet (32bitové procesy)

Zjistěte více o víceúrovňovém vyhledávání v SharedFX.

Poznámka

performMultiLevelLookup platí pouze pro agenty se sídlem Windows.


requestTimeout - Nastavit časový limit pro žádost o stažení balíčku
string. Výchozí hodnota: 300000.

Uveďte časovou hranici pro HTTP požadavky, které úkol provádí pro získání balíčku .NET. Hodnota je v milisekundách. Výchozí hodnota je 3 00000 milisekund (5 minut). Nesmí být delší než 6 00000 milisekund (10 minut).


Možnosti řízení úkolů

Všechny úkoly mají kromě vstupů úkolů také možnosti řízení. Další informace naleznete v tématu Možnosti ovládacího prvku a běžné vlastnosti úloh.

Výstupní proměnné

Žádný.

Poznámky

Úloha Use .NET Core získá specifickou verzi .NET Core z inte rnet nebo cache nástrojů a přidá ji do PATH Azure Pipelines Agenta (hostovaného nebo soukromého). Použijte tuto úlohu ke změně verze .NET Core používané v následujících úlohách, například DotNetCoreCLI@2. Přidání této úlohy před DotNetCoreCLI@2 do definice sestavy zajistí, že verze bude dostupná v době vývoje, testování a publikace vaší aplikace.

Přístup instalačního programu nástrojů také umožňuje oddělit od cyklů aktualizací agenta. Pokud hledáte verzi .NET Core v agentu Azure Pipelines (hostované nebo soukromé), můžete tuto úlohu použít k instalaci správné verze na agenta.

Podpora roll-forward s global.json

Když useGlobalJson je nastaveno na true, úkol načte vlastnost sdk.rollForward z vašeho global.json souboru a nainstaluje nejnovější verzi SDK, která splňuje specifikovanou roll-forward politiku. Pro disable, patch, feature, a minor politiky to odpovídá tomu, jak .NET CLI lokálně řeší verze SDK; major a latestMajor jsou aktuálně vyřešeny ve stejné hlavní verzi.

Pokud sdk.rollForward není přítomen ve vašem global.json, úkol nainstaluje přesnou verzi uvedenou v sdk.version. To odpovídá předchozímu chování.

Následující tabulka ukazuje, jak každá rollForward hodnota ovlivňuje rozlišení verzí:

Hodnota rollForward Chování Příklad: verze 8.0.302 se vyřeší na
disable Nainstaluje přesně uvedenou verzi. 8.0.302
patch Nainstaluje nejnovější patch do stejného funkčního pásma. Nejnovější >=8.0.300 <8.0.400
latestPatch Stejné jako patch. Nejnovější >=8.0.300 <8.0.400
feature Nainstaluje nejnovější feature band ve stejné major.minor verzi. Nejnovější 8.0.x
latestFeature Stejné jako feature. Nejnovější 8.0.x
minor Nainstaluje nejnovější vedlejší verzi do stejné hlavní verze. Nejnovější 8.x
latestMinor Stejné jako minor. Nejnovější 8.x
major Nainstaluje nejnovější verzi do stejné hlavní verze. Nejnovější 8.x
latestMajor Stejné jako major. Nejnovější 8.x

Poznámka

V UseDotNet@2 major se politiky and latestMajor aktuálně řeší pouze ve stejné hlavní verzi. Rozlišení mezi hlavními verzemi zatím není podporováno.

Pokud global.json obsahuje nerozpoznanou rollForward hodnotu, úkol zaznamená varování a vrátí se k instalaci přesné verze uvedené v sdk.version.

Pro úplnou specifikaci rollForward hodnot viz global.json přehled.

Examples

Nainstalujte nejnovější feature band pomocí global.json

Následující global.json soubor specifikuje verzi 8.0.302 SDK s rollForward nastavením na latestFeature. Úkol nainstaluje nejnovější 8.0.x dostupné SDK.

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

Nainstalujte nejnovější patch v rámci feature bandu pomocí global.json

Následující global.json soubor specifikuje verzi 8.0.302 SDK s rollForward nastavením na latestPatch. Úkol instaluje nejnovější verzi SDK v rámci frekvenčního pásma 8.0.3xx .

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

Požadavky

Požadavek Popis
Typy kanálů YAML, klasické sestavení, klasická verze
Běží na Agent, skupina nasazení
požadavky Žádný
možnosti Spuštění této úlohy splňuje následující požadavky na jakékoli následné úkoly ve stejné úlohe: DotNetCore
omezení příkazů Jakýkoliv
nastavitelné proměnné Jakýkoliv
Verze agenta 2.144.0 nebo vyšší
Kategorie úkolu Nástroj

Viz také