Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie diese Aufgabe, um eine bestimmte Version des .NET Core SDK vom internet oder dem lokalen Cache zu erhalten und sie dem PATH hinzuzufügen. Verwenden Sie diese Aufgabe, um die Version von .NET Core zu ändern, die in nachfolgenden Aufgaben verwendet wird. Diese Aufgabe bietet auch Proxyunterstützung.
Syntax
# 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.
Eingänge
packageType
-
Paket zur Installation
string. Erlaubte Werte: runtime, sdk (SDK (enthält Laufzeit)). Standardwert. sdk.
Spezifiziert, ob nur die .NET-Laufzeit oder das SDK installiert werden soll.
useGlobalJson
-
Verwenden Sie globales JSON
boolean. Wahlfrei. Wird verwendet, wenn packageType = sdk. Standardwert. false.
Installiert alle SDKs aus Dateien global.json . Diese Dateien werden von system.DefaultWorkingDirectorydurchsucht. Sie können den Suchstammpfad ändern, indem Sie die Arbeitsverzeichniseingabe festlegen.
Die Aufgabe liest außerdem die sdk.rollForward Eigenschaft aus global.json und installiert die neueste Version, die die angegebene Rollforward-Richtlinie erfüllt. Zum Beispiel, wenn Sie global.json mit angeben"version": "8.0.302", installiert die Aufgabe das neueste 8.0.x SDK statt der exakten "rollForward": "latestFeature"Version. Wenn sdk.rollForward nicht vorhanden ist, installiert die Aufgabe die exakt in sdk.versionangegebene Version, die dem vorherigen Verhalten entspricht. Weitere Informationen zu unterstützten rollForward Werten finden Sie im Abschnitt Bemerkungen und im Überblick überglobal.json.
Das 6.x in der Eingabe UseDotNet@2.version beschriebene und-Format 6.1.x (mit .x als Wildcard) ist für die Verwendung in der version Eingabe der Aufgabe vorgesehen, nicht für den sdk.version Parameter in global.json.
Wenn du eine Fehlermeldung wie ##[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. und du benutzt global.jsonerhältst, schau in sdk.version deinem global.json.
Weitere Informationen zu global.json finden Sie unter Wählen Sie die .NET zu verwendende Version aus.
workingDirectory
-
Arbeitsverzeichnis-
string. Wahlfrei. Wird verwendet, wenn useGlobalJson = true.
Spezifiziert den Pfad, von dem global.json aus Dateien gesucht werden sollen, wenn useGlobalJsonverwendet wird. Wenn der Wert leer ist, system.DefaultWorkingDirectory wird als Wurzelpfad betrachtet.
version
-
Version
string. Wahlfrei. Wird verwendet, wenn useGlobalJson = false || packageType = runtime.
Spezifiziert die zu installierende Version des .NET Core SDK oder der Laufzeit. Die Versionswertformate werden mit Beispielen gezeigt:
-
2.x: Installiert das neueste SDK oder die neueste Laufzeit mit der angegebenen Hauptversion,2. -
3.1.x: Installiert das neueste SDK oder die neueste Laufzeit mit den angegebenen Haupt- und Nebenversionen,3und1. -
3.1.402: Installiert das spezifizierte SDK oder die Laufzeitversion,3.1.402.
Die Versionswerte für SDK- oder Laufzeitinstallationen befinden sich in der releases.json Datei. Der Link zu einer releases.json Major-/Minor-Version befindet sich in der Releases-Index-Datei . Zum Beispiel der Link zur releases.json-Datei für Version 3.1.
vsVersion
-
kompatibel Visual Studio Version
string.
Spezifiziert eine kompatible Visual Studio-Version für eine entsprechende .NET Core SDK-Installation. Der Wert muss eine vollständige Versionsnummer sein, wie z. 16.6.4B. , die eine Hauptversion, eine Nebenversion und eine Patchnummer enthält.
Die Versionswerte für SDK- oder Laufzeitinstallationen, die für den String version verwendet werden, befinden sich in der releases.json Datei. Der Link zu einer releases.json Major-/Minor-Version befindet sich in der Releases-Index-Datei . Zum Beispiel der Link zur releases.json-Datei für Version 3.1.
checkForExistingVersion
-
Überprüfen Sie die vorhandene Installation
boolean. Standardwert. false.
Wähle aus, ob du erkennen möchtest, ob die angegebene Version bereits installiert ist, bevor du versuchst, sie herunterzuladen. Verwenden Sie nur, wenn installationPath leer ist, also auf Standardwert gesetzt.
includePreviewVersions
-
Vorschauversionen einfügen
boolean. Wahlfrei. Wird verwendet, wenn useGlobalJson = false || packageType = runtime. Standardwert. false.
Wenn auf gesetzt trueist, umfasst dies Vorschauversionen, wenn die Aufgabe nach den neuesten Laufzeit-/SDK-Versionen sucht, wie z. B. die Suche nach 2.2.x oder 3.1.x. Diese Einstellung wird ignoriert, wenn man eine exakte Version angibt, wie zum Beispiel 3.0.100-preview3-010431.
installationPath
-
Weg zur Installation von .NET Core
string. Standardwert. $(Agent.ToolsDirectory)/dotnet.
Gibt an, wo das .NET Core SDK/Runtime installiert werden soll. Verschiedene Wege können folgenden Einfluss auf das Verhalten von .NET haben.
-
$(Agent.ToolsDirectory): Mit diesem Pfad wird die Installation auf dem Agenten gechnappt, da dieses Verzeichnis nicht über Pipelines hinweg bereinigt wird. Alle pipelines, die auf dem Agent ausgeführt werden, haben Zugriff auf die zuvor installierten Versionen. -
$(Agent.TempDirectory): Die Verwendung dieses Pfades stellt sicher, dass eine Pipeline keine zwischengespeicherte Version von .NET Core verwendet, da dieser Ordner nach jeder Pipeline gereinigt wird. - Ein weiterer Pfad: Du kannst jeden Pfad verwenden, wenn der Agentenprozess Zugriff darauf hat. Dadurch wird der Zustand des Computers geändert und sich auf alle prozesse auswirken, die darauf ausgeführt werden.
Anmerkung
Du kannst die Einstellung Multi-Level LookupperformMultiLevelLookup verwenden, um zu konfigurieren, wie der .NET Host nach Versionen sucht.
performMultiLevelLookup
-
Führen Sie eine Multi-Level-Suche durch
boolean. Standardwert. false.
Konfiguriert das Verhalten des .NET-Host-Prozesses, wenn er nach einem geeigneten gemeinsamen Framework sucht. Die Werte sind:
-
false: Der Host-Prozess sucht nur nach Versionen, die im von der Aufgabe angegebenen Ordner vorhanden sind. -
true: Der Host-Prozess sucht in vordefinierten globalen Standorten mittels mehrstufiger Abfrage. Die standardmäßigen globalen Speicherorte sind:-
C:\Program Files\dotnet(64-Bit-Prozesse) -
C:\Program Files (x86)\dotnet(32-Bit-Prozesse)
-
Erfahren Sie mehr über die mehrstufige SharedFX-Suche.
Anmerkung
performMultiLevelLookup gilt nur für Windows Agenten.
requestTimeout
-
Timeout für paketdownloadanforderungs- festlegen
string. Standardwert. 300000.
Geben Sie einen Timeout-Wert für HTTP-Anfragen bereit, die die Aufgabe stellt, um das .NET-Paket zu erhalten. Der Wert ist in Millisekunden. Der Standardwert ist 300000 Millisekunden (5 Minuten). Maximal 600000 Millisekunden (10 Minuten).
Aufgabensteuerungsoptionen
Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.
Ausgabevariablen
Nichts.
Bemerkungen
Die Use .NET Core-Aufgabe erhält eine spezifische Version von .NET Core aus inte rnet oder dem Tools-Cache und fügt sie dem PATH des Azure Pipelines Agents (gehostet oder privat) hinzu. Verwenden Sie diese Aufgabe, um die Version .NET Core zu ändern, die in nachfolgenden Aufgaben wie DotNetCoreCLI@2 verwendet wird. Das Hinzufügen dieser Aufgabe vor dem DotNetCoreCLI@2 in einer Build-Definition stellt sicher, dass die Version zum Zeitpunkt des Baus, Tests und Veröffentlichens Ihrer App verfügbar ist.
Der Ansatz des Toolinstallationsprogramms ermöglicht ihnen auch die Entkoppelung von den Agent-Updatezyklen. Wenn die von Ihnen gesuchte .NET Core-Version im Azure Pipelines-Agenten (gehostet oder privat) fehlt, können Sie diese Aufgabe nutzen, um die richtige Version auf dem Agenten zu installieren.
Roll-Forward-Unterstützung mit global.json
Wenn useGlobalJson auf gesetzt ist true, liest die Task die sdk.rollForward Eigenschaft aus Ihrer global.json Datei und installiert die neueste SDK-Version, die die angegebene Rollforward-Richtlinie erfüllt. Für disable, patch, feature, und minor Richtlinien entspricht dies der lokalen Auflösung der SDK-Versionen durch die .NET-CLI; major und latestMajor werden derzeit innerhalb derselben Hauptversion aufgelöst.
Wenn sdk.rollForward in deinem global.jsonnicht vorhanden ist, installiert die Aufgabe die exakt in angegebene Version sdk.version. Das entspricht dem vorherigen Verhalten.
Die folgende Tabelle zeigt, wie sich jeder rollForward Wert auf die Versionsauflösung auswirkt:
| rollForward-Wert | Behavior | Beispiel: Die Version 8.0.302 löst sich auf |
|---|---|---|
disable |
Installiert die exakt angegebene Version. | 8.0.302 |
patch |
Installiert den neuesten Patch im gleichen Funktionsbereich. | Neueste Meldung >=8.0.300 <8.0.400 |
latestPatch |
Dasselbe wie patch. |
Neueste Meldung >=8.0.300 <8.0.400 |
feature |
Installiert das neueste Feature-Band innerhalb derselben Major.Minor-Version. | Neueste Meldung 8.0.x |
latestFeature |
Dasselbe wie feature. |
Neueste Meldung 8.0.x |
minor |
Installiert die neueste Nebenversion innerhalb derselben Hauptversion. | Neueste Meldung 8.x |
latestMinor |
Dasselbe wie minor. |
Neueste Meldung 8.x |
major |
Installiert die neueste Version innerhalb derselben Hauptversion. | Neueste Meldung 8.x |
latestMajor |
Dasselbe wie major. |
Neueste Meldung 8.x |
Anmerkung
In UseDotNet@2 lösen sich die major und-Richtlinien latestMajor derzeit nur innerhalb derselben Hauptversion. Die Auflösung der Cross-Major-Version wird noch nicht unterstützt.
Wenn global.json ein nicht erkannter rollForward Wert enthalten ist, meldet die Aufgabe eine Warnung und greift auf die Installation der exakt in angegebenen sdk.versionVersion zurück.
Für die vollständige Spezifikation der rollForward Werte siehe global.json Übersicht.
Examples
Installieren Sie das neueste Funktionsband mit global.json
Die folgende global.json Datei spezifiziert die SDK-Version 8.0.302 mit rollForward gesetzt auf latestFeature. Die Aufgabe installiert das neueste 8.0.x verfügbare SDK.
{
"sdk": {
"version": "8.0.302",
"rollForward": "latestFeature"
}
}
steps:
- task: UseDotNet@2
displayName: 'Install .NET SDK from global.json'
inputs:
packageType: 'sdk'
useGlobalJson: true
Installiere den neuesten Patch innerhalb eines Feature-Bands mit global.json
Die folgende global.json Datei spezifiziert die SDK-Version 8.0.302 mit rollForward gesetzt auf latestPatch. Die Aufgabe installiert die neueste SDK-Version innerhalb des Funktionsbereichs 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
Anforderungen
| Anforderung | Beschreibung |
|---|---|
| Pipelinetypen | YAML, Classic Build, Classic Release |
| Läuft auf | Agent, DeploymentGroup |
| Anforderungen | Nichts |
| Funktionen | Das Ausführen dieser Aufgabe erfüllt die folgenden Anforderungen für alle nachfolgenden Aufgaben im selben Job: DotNetCore |
| Befehlseinschränkungen | Jegliche |
| Settable-Variablen | Jegliche |
| Agentversion | 2.144.0 oder höher |
| Vorgangskategorie | Werkzeug |