UseDotNet@2 - Dotnet v2-taak gebruiken

Gebruik deze taak om een specifieke versie van de .NET Core SDK van de internet of de lokale cache te verkrijgen en deze toe te voegen aan de PATH. Gebruik deze taak om de versie van .NET Core te wijzigen die in volgende taken wordt gebruikt. Deze taak biedt ook proxyondersteuning.

Syntaxis

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

Ingangen

packageType - Pakket om te installeren
string. Toegestane waarden: runtime, sdk (SDK (bevat runtime)). Standaardwaarde: sdk.

Geeft aan of alleen de .NET runtime of de SDK geïnstalleerd moet worden.


useGlobalJson - Gebruik globale json
boolean. Facultatief. Gebruiken wanneer packageType = sdk. Standaardwaarde: false.

Installeert alle SDK's vanuit global.json bestanden. Deze bestanden worden doorzocht vanuit system.DefaultWorkingDirectory. U kunt het zoekhoofdpad wijzigen door de invoer van de werkmap in te stellen.

De taak leest ook de sdk.rollForward eigenschap uit global.json en installeert de nieuwste versie die voldoet aan het gespecificeerde roll-forward-beleid. Als je global.json bijvoorbeeld specificeert "version": "8.0.302" met "rollForward": "latestFeature", installeert de taak de nieuwste 8.0.x SDK in plaats van de exacte versie. Als sdk.rollForward niet aanwezig is, installeert de taak de exacte versie die in sdk.versionis gespecificeerd, die overeenkomt met het vorige gedrag. Voor meer informatie over ondersteunde rollForward waarden, zie de sectie Opmerkingen en het overzicht van deglobal.json.

Het en-formaat 6.1.x (met als .x wildcard) beschreven in de UseDotNet@2.version invoer is bedoeld voor gebruik in de version invoer van de taak, niet voor de sdk.version parameter in global.json.6.x

Als je een foutmelding ontvangt zoals ##[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. en je gebruikt global.json, controleer dan de sdk.version in je global.json.

Voor meer informatie over global.json, zie Selecteer de .NET versie die gebruikt moet worden.


workingDirectory - werkmap
string. Facultatief. Gebruiken wanneer useGlobalJson = true.

Specificeert het pad vanwaar global.json bestanden moeten worden doorzocht bij gebruik useGlobalJsonvan . Als de waarde leeg is, system.DefaultWorkingDirectory wordt beschouwd als het wortelpad.


version - versie
string. Facultatief. Gebruiken wanneer useGlobalJson = false || packageType = runtime.

Specificeert de versie van de .NET Core SDK of runtime die geïnstalleerd moet worden. De indelingen voor versiewaarden worden weergegeven met voorbeelden:

  • 2.x: Installeert de nieuwste SDK of runtime met de opgegeven hoofdversie, 2.
  • 3.1.x: Installeert de nieuwste SDK of runtime met de opgegeven hoofd- en kleine versies, 3 en 1.
  • 3.1.402: Installeert de gespecificeerde SDK of runtime-versie, 3.1.402.

De versiewaarden voor SDK- of runtime-installaties staan in het releases.json bestand. De link naar de van releases.json een hoofd-/minorversie bevindt zich in het releases-indexbestand . Bijvoorbeeld de link naar het releases.json-bestand voor versie 3.1.


vsVersion - Compatibele Visual Studio versie
string.

Specificeert een compatibele Visual Studio-versie voor een bijbehorende .NET Core SDK-installatie. De waarde moet een volledig versienummer zijn, zoals 16.6.4, dat een hoofdversie, een kleine versie en een patchnummer bevat.

De versiewaarden voor SDK- of runtime-installaties, die voor de version string worden gebruikt, staan in het releases.json bestand. De link naar de van releases.json een hoofd-/minorversie bevindt zich in het releases-indexbestand . Bijvoorbeeld de link naar het releases.json-bestand voor versie 3.1.


checkForExistingVersion - Controleer op bestaande installaties
boolean. Standaardwaarde: false.

Selecteer of je wilt ontdekken of de gespecificeerde versie al geïnstalleerd is voordat je probeert te downloaden. Gebruik alleen wanneer installationPath leeg is, dat wil zeggen ingesteld op standaardwaarde.


includePreviewVersions - Voeg previewversies toe
boolean. Facultatief. Gebruiken wanneer useGlobalJson = false || packageType = runtime. Standaardwaarde: false.

Als ingesteld op true, omvat voorbeeldversies wanneer de taak zoekt naar de nieuwste runtime-/SDK-versies, zoals zoeken naar 2.2.x of 3.1.x. Deze instelling wordt genegeerd als je een exacte versie specificeert, zoals 3.0.100-preview3-010431.


installationPath - Pad om .Net Core te installeren
string. Standaardwaarde: $(Agent.ToolsDirectory)/dotnet.

Geeft aan waar de .NET Core SDK/Runtime geïnstalleerd moet worden. Verschillende paden kunnen de volgende impact hebben op het gedrag van .NET.

  • $(Agent.ToolsDirectory): Door dit pad te gebruiken cachet de installatie op de agent, omdat deze map niet wordt opgeschoond over de pijplijnen. Alle pijplijnen die op de agent worden uitgevoerd, hebben toegang tot de eerder geïnstalleerde versies.
  • $(Agent.TempDirectory): Door dit pad te gebruiken, wordt ervoor gezorgd dat een pipeline geen gecachte versie van .NET Core gebruikt, omdat deze map na elke pipeline wordt opgeschoond.
  • Een ander pad: je kunt elk pad gebruiken als het agentproces toegang heeft tot het pad. Hiermee wijzigt u de status van de machine en heeft dit invloed op alle processen die erop worden uitgevoerd.

Notitie

Je kunt de instelling Multi-Level Lookup, performMultiLevelLookup, gebruiken om te configureren hoe de .NET host naar versies zoekt.


performMultiLevelLookup - Voer Multi-Level lookup uit
boolean. Standaardwaarde: false.

Configureert het gedrag van het .NET-hostproces wanneer het zoekt naar een geschikt gedeeld framework. De waarden zijn:

  • false: Het hostproces zoekt alleen naar versies die aanwezig zijn in de map die door de taak is gespecificeerd.
  • true: Het hostproces zoekt op vooraf gedefinieerde globale locaties met behulp van meerlagige opzoeking. De standaard algemene locaties zijn:
    • C:\Program Files\dotnet (64-bits processen)
    • C:\Program Files (x86)\dotnet (32-bits processen)

Lees meer over multi-level SharedFX-zoekopdrachten.

Notitie

performMultiLevelLookup is alleen van toepassing op agenten die Windows gevestigd zijn.


requestTimeout - Time-out voor pakketdownloadaanvraag instellen
string. Standaardwaarde: 300000.

Geef een timeoutwaarde voor HTTP-verzoeken die de taak doet om het .NET-pakket te verkrijgen. De waarde is in milliseconden. De standaardwaarde is 300000 milliseconden (5 minuten). Kan niet meer dan 600000 milliseconden (10 minuten) zijn.


Opties voor taakbeheer

Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties en algemene taakeigenschappenvoor meer informatie.

Uitvoervariabelen

Geen.

Opmerkingen

De Use .NET Core-taak verkrijgt een specifieke versie van .NET Core van inte rnet of de tools-cache en voegt deze toe aan het PATH van de Azure-pipelines Agent (gehost of privé). Gebruik deze taak om de versie van .NET Core te wijzigen die in latere taken zoals DotNetCoreCLI@2 wordt gebruikt. Door deze taak toe te voegen vóór de DotNetCoreCLI@2 in een builddefinitie, is de versie beschikbaar op het moment dat je je app bouwt, test en publiceert.

Met de methode voor het installatieprogramma van het hulpprogramma kunt u ook loskoppelen van de updatecycli van de agent. Als de .NET Core-versie die je zoekt ontbreekt in de Azure-pipelines-agent (gehost of privé), kun je deze taak gebruiken om de juiste versie op de agent te installeren.

Roll-forward ondersteuning met global.json

Wanneer useGlobalJson is ingesteld op true, leest de taak de sdk.rollForward eigenschap uit uw global.json bestand en installeert de nieuwste SDK-versie die voldoet aan het opgegeven roll-forward-beleid. Voor disable, patch, feature, en minor beleidsregels komt dit overeen met hoe de .NET CLI SDK-versies lokaal oplost; major en latestMajor worden momenteel binnen dezelfde hoofdversie opgelost.

Als sdk.rollForward niet aanwezig is in uw global.json, installeert de taak exact de versie die in sdk.versionis gespecificeerd. Dit komt overeen met het vorige gedrag.

De volgende tabel laat zien hoe elke rollForward waarde de versieresolutie beïnvloedt:

rollForward-waarde Gedrag Voorbeeld: versie 8.0.302 lost op naar
disable Installeert exact de gespecificeerde versie. 8.0.302
patch Installeert de nieuwste patch binnen hetzelfde functieband. Laatste >=8.0.300 <8.0.400
latestPatch Hetzelfde als patch. Laatste >=8.0.300 <8.0.400
feature Installeert de nieuwste feature-band binnen dezelfde major.minor versie. Laatste 8.0.x
latestFeature Hetzelfde als feature. Laatste 8.0.x
minor Installeert de nieuwste kleine versie binnen dezelfde hoofdversie. Laatste 8.x
latestMinor Hetzelfde als minor. Laatste 8.x
major Installeert de nieuwste versie binnen dezelfde hoofdversie. Laatste 8.x
latestMajor Hetzelfde als major. Laatste 8.x

Notitie

In UseDotNet@2 worden de major en latestMajor beleidsregels momenteel alleen binnen dezelfde hoofdversie opgelost. Cross-major versieresolutie wordt nog niet ondersteund.

Als global.json een niet-herkende rollForward waarde bevat, registreert de taak een waarschuwing en valt terug op het installeren van de exacte versie die in sdk.versionis gespecificeerd.

Voor de volledige specificatie van rollForward de waarden, zie global.json overzicht.

Examples

Installeer de nieuwste feature band met global.json

Het volgende global.json bestand specificeert SDK-versie 8.0.302 met rollForward gezet op latestFeature. De taak installeert de nieuwste 8.0.x beschikbare SDK.

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

Installeer de nieuwste patch binnen een featureband met behulp van global.json

Het volgende global.json bestand specificeert SDK-versie 8.0.302 met rollForward gezet op latestPatch. De taak installeert de nieuwste SDK-versie binnen het 8.0.3xx functieband.

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

Eisen

Eis Beschrijving
Pijplijntypen YAML, klassieke build, klassieke release
Wordt uitgevoerd op Agent, DeploymentGroup
eisen Geen
mogelijkheden Het uitvoeren van deze taak voldoet aan de volgende eisen voor eventuele volgende taken in dezelfde taak: DotNetCore
opdrachtbeperkingen Enig
variabelen instellen Enig
Agentversie 2.144.0 of hoger
Taakcategorie Werktuig

Zie ook