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 NuGet-Pakete wiederherzustellen, zu packen oder zu pushen, oder führen Sie einen NuGet-Befehl aus. Diese Aufgabe unterstützt NuGet.org und authentifizierte Feeds wie Azure Artifacts und MyGet. Diese Aufgabe verwendet auch NuGet.exe und funktioniert mit .NET Framework-Apps. Verwenden Sie für .NET Core- und .NET Standard-Apps die .NET Core-Aufgabe.
Tip
Verwenden Sie NuGetAuthenticate@1 in Ihrer Pipeline vor dieser Aufgabe. Weitere Informationen finden Sie unter Warum schlägt bei meiner Buildpipeline ein Fehler auf und fordert zur SSO-Authentifizierung (Single Sign-On) auf?.
Syntax
# NuGet v2
# Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.
- task: NuGetCommand@2
inputs:
command: 'restore' # 'restore' | 'pack' | 'push' | 'custom'. Required. Command. Default: restore.
restoreSolution: '**/*.sln' # string. Alias: solution. Required when command = restore. Path to solution, packages.config, or project.json. Default: **/*.sln.
#packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg' # string. Alias: searchPatternPush. Required when command = push. Path to NuGet package(s) to publish. Default: $(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg.
#nuGetFeedType: 'internal' # 'internal' | 'external'. Required when command = push. Target feed location. Default: internal.
#publishVstsFeed: # string. Alias: feedPublish. Required when command = push && nuGetFeedType = internal. Target feed.
#allowPackageConflicts: false # boolean. Optional. Use when command = push && nuGetFeedType = internal. Allow duplicates to be skipped. Default: false.
#publishFeedCredentials: # string. Alias: externalEndpoint. Required when command = push && nuGetFeedType = external. NuGet server.
#packagesToPack: '**/*.csproj' # string. Alias: searchPatternPack. Required when command = pack. Path to csproj or nuspec file(s) to pack. Default: **/*.csproj.
#configuration: '$(BuildConfiguration)' # string. Alias: configurationToPack. Optional. Use when command = pack. Configuration to package. Default: $(BuildConfiguration).
#packDestination: '$(Build.ArtifactStagingDirectory)' # string. Alias: outputDir. Optional. Use when command = pack. Package folder. Default: $(Build.ArtifactStagingDirectory).
#arguments: # string. Required when command = custom. Command and arguments.
# Feeds and authentication
feedsToUse: 'select' # 'select' | 'config'. Alias: selectOrConfig. Required when command = restore. Feeds to use. Default: select.
#vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select && command = restore. Use packages from this Azure Artifacts/TFS feed. Select from the dropdown or enter [project name/]feed name.
#includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select && command = restore. Use packages from NuGet.org. Default: true.
#nugetConfigPath: # string. Optional. Use when selectOrConfig = config && command = restore. Path to NuGet.config.
#externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config && command = restore. Credentials for feeds outside this organization/collection.
# Advanced
#noCache: false # boolean. Optional. Use when command = restore. Disable local cache. Default: false.
#disableParallelProcessing: false # boolean. Optional. Use when command = restore. Disable parallel processing. Default: false.
#restoreDirectory: # string. Alias: packagesDirectory. Optional. Use when command = restore. Destination directory.
#verbosityRestore: 'Detailed' # 'Quiet' | 'Normal' | 'Detailed'. Optional. Use when command = restore. Verbosity. Default: Detailed.
# Advanced
#publishPackageMetadata: true # boolean. Optional. Use when command = push && nuGetFeedType = internal. Publish pipeline metadata. Default: true.
#verbosityPush: 'Detailed' # 'Quiet' | 'Normal' | 'Detailed'. Optional. Use when command = push. Verbosity. Default: Detailed.
# Pack options
#versioningScheme: 'off' # 'off' | 'byPrereleaseNumber' | 'byEnvVar' | 'byBuildNumber'. Required when command = pack. Automatic package versioning. Default: off.
#includeReferencedProjects: false # boolean. Optional. Use when versioningScheme = off && command = pack. Include referenced projects. Default: false.
#versionEnvVar: # string. Required when versioningScheme = byEnvVar && command = pack. Environment variable.
#majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Major. Default: 1.
#minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Minor. Default: 0.
#patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Patch. Default: 0.
#packTimezone: 'utc' # 'utc' | 'local'. Optional. Use when versioningScheme = byPrereleaseNumber && command = pack. Time zone. Default: utc.
#includeSymbols: false # boolean. Optional. Use when command = pack. Create symbols package. Default: false.
#toolPackage: false # boolean. Optional. Use when command = pack. Tool Package. Default: false.
# Advanced
#buildProperties: # string. Optional. Use when command = pack. Additional build properties.
#basePath: # string. Optional. Use when command = pack. Base path.
#verbosityPack: 'Detailed' # 'Quiet' | 'Normal' | 'Detailed'. Optional. Use when command = pack. Verbosity. Default: Detailed.
# NuGet v2
# Restore, pack, or push NuGet packages, or run a NuGet command. Supports NuGet.org and authenticated feeds like Azure Artifacts and MyGet. Uses NuGet.exe and works with .NET Framework apps. For .NET Core and .NET Standard apps, use the .NET Core task.
- task: NuGetCommand@2
inputs:
command: 'restore' # 'restore' | 'pack' | 'push' | 'custom'. Required. Command. Default: restore.
restoreSolution: '**/*.sln' # string. Alias: solution. Required when command = restore. Path to solution, packages.config, or project.json. Default: **/*.sln.
#packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg' # string. Alias: searchPatternPush. Required when command = push. Path to NuGet package(s) to publish. Default: $(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg.
#nuGetFeedType: 'internal' # 'internal' | 'external'. Required when command = push. Target feed location. Default: internal.
#publishVstsFeed: # string. Alias: feedPublish. Required when command = push && nuGetFeedType = internal. Target feed.
#allowPackageConflicts: false # boolean. Optional. Use when command = push && nuGetFeedType = internal. Allow duplicates to be skipped. Default: false.
#publishFeedCredentials: # string. Alias: externalEndpoint. Required when command = push && nuGetFeedType = external. NuGet server.
#packagesToPack: '**/*.csproj' # string. Alias: searchPatternPack. Required when command = pack. Path to csproj or nuspec file(s) to pack. Default: **/*.csproj.
#configuration: '$(BuildConfiguration)' # string. Alias: configurationToPack. Optional. Use when command = pack. Configuration to package. Default: $(BuildConfiguration).
#packDestination: '$(Build.ArtifactStagingDirectory)' # string. Alias: outputDir. Optional. Use when command = pack. Package folder. Default: $(Build.ArtifactStagingDirectory).
#arguments: # string. Required when command = custom. Command and arguments.
# Feeds and authentication
feedsToUse: 'select' # 'select' | 'config'. Alias: selectOrConfig. Required when command = restore. Feeds to use. Default: select.
#vstsFeed: # string. Alias: feedRestore. Optional. Use when selectOrConfig = select && command = restore. Use packages from this Azure Artifacts/TFS feed.
#includeNuGetOrg: true # boolean. Optional. Use when selectOrConfig = select && command = restore. Use packages from NuGet.org. Default: true.
#nugetConfigPath: # string. Optional. Use when selectOrConfig = config && command = restore. Path to NuGet.config.
#externalFeedCredentials: # string. Alias: externalEndpoints. Optional. Use when selectOrConfig = config && command = restore. Credentials for feeds outside this organization/collection.
# Advanced
#noCache: false # boolean. Optional. Use when command = restore. Disable local cache. Default: false.
#disableParallelProcessing: false # boolean. Optional. Use when command = restore. Disable parallel processing. Default: false.
#restoreDirectory: # string. Alias: packagesDirectory. Optional. Use when command = restore. Destination directory.
#verbosityRestore: 'Detailed' # 'Quiet' | 'Normal' | 'Detailed'. Optional. Use when command = restore. Verbosity. Default: Detailed.
# Advanced
#publishPackageMetadata: true # boolean. Optional. Use when command = push && nuGetFeedType = internal. Publish pipeline metadata. Default: true.
#verbosityPush: 'Detailed' # 'Quiet' | 'Normal' | 'Detailed'. Optional. Use when command = push. Verbosity. Default: Detailed.
# Pack options
#versioningScheme: 'off' # 'off' | 'byPrereleaseNumber' | 'byEnvVar' | 'byBuildNumber'. Required when command = pack. Automatic package versioning. Default: off.
#includeReferencedProjects: false # boolean. Optional. Use when versioningScheme = off && command = pack. Include referenced projects. Default: false.
#versionEnvVar: # string. Required when versioningScheme = byEnvVar && command = pack. Environment variable.
#majorVersion: '1' # string. Alias: requestedMajorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Major. Default: 1.
#minorVersion: '0' # string. Alias: requestedMinorVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Minor. Default: 0.
#patchVersion: '0' # string. Alias: requestedPatchVersion. Required when versioningScheme = byPrereleaseNumber && command = pack. Patch. Default: 0.
#packTimezone: 'utc' # 'utc' | 'local'. Optional. Use when versioningScheme = byPrereleaseNumber && command = pack. Time zone. Default: utc.
#includeSymbols: false # boolean. Optional. Use when command = pack. Create symbols package. Default: false.
#toolPackage: false # boolean. Optional. Use when command = pack. Tool Package. Default: false.
# Advanced
#buildProperties: # string. Optional. Use when command = pack. Additional build properties.
#basePath: # string. Optional. Use when command = pack. Base path.
#verbosityPack: 'Detailed' # 'Quiet' | 'Normal' | 'Detailed'. Optional. Use when command = pack. Verbosity. Default: Detailed.
Inputs
command
-
Befehl
string. Required. Zulässige Werte: restore, pack, push, custom. Standardwert: restore.
Gibt den auszuführenden NuGet-Befehl an. Verwenden Sie den custom Wert, um Argumente hinzuzufügen oder einen anderen Befehl zu verwenden.
restoreSolution
-
Pfad zu Lösung, packages.configoder project.json
Eingabe-Alias: solution.
string. Erforderlich, wenn command = restore. Standardwert: **/*.sln.
Gibt den Pfad zur Lösung, packages.configoder project.json Datei an, die auf die zu wiederherstellenden Pakete verweist.
feedsToUse
-
Feeds für die Verwendung von
Eingabe-Alias: selectOrConfig.
string. Erforderlich, wenn command = restore. Zulässige Werte: select (Feed(e) Ich wähle hier aus), config (Feeds in meinem NuGet.config). Standardwert: select.
Gibt einen Feed aus Azure Artifacts und/oder NuGet.org für die Aufgabe an, die mit dem select-Wert verwendet werden soll. Alternativ können Sie eine NuGet.config Datei in Ihr Quellcode-Repository übernehmen und den Pfad als Wert mit dem wert config festlegen.
vstsFeed
-
Pakete aus diesem Azure Artifacts/TFS-Feed verwenden. Wählen Sie aus der Dropdownliste aus, oder geben Sie [Projektname/]Feedname ein.
Eingabe-Alias: feedRestore.
string. Optional. Wird verwendet, wenn selectOrConfig = select && command = restore.
Gibt den ausgewählten Feed im generierten NuGet.configan. Sie müssen die Paketverwaltung installiert und lizenziert haben, um hier einen Feed anzugeben.
vstsFeed
-
Verwenden von Paketen aus diesem Azure Artifacts/TFS-Feed
Eingabe-Alias: feedRestore.
string. Optional. Wird verwendet, wenn selectOrConfig = select && command = restore.
Gibt den ausgewählten Feed im generierten NuGet.configan. Sie müssen die Paketverwaltung installiert und lizenziert haben, um hier einen Feed anzugeben.
includeNuGetOrg
-
Verwenden von Paketen aus NuGet.org
boolean. Optional. Wird verwendet, wenn selectOrConfig = select && command = restore. Standardwert: true.
Enthält NuGet.org in die generierte NuGet.config.
nugetConfigPath
-
Pfad zu NuGet.config
string. Optional. Wird verwendet, wenn selectOrConfig = config && command = restore.
Gibt den Pfad zum NuGet.config in Ihrem Repository an, der die Feeds bestimmt, aus denen Pakete wiederhergestellt werden sollen.
externalFeedCredentials
-
Anmeldeinformationen für Feeds außerhalb dieser Organisation/Sammlung
Eingabe-Alias: externalEndpoints.
string. Optional. Wird verwendet, wenn selectOrConfig = config && command = restore.
Gibt die Anmeldeinformationen an, die für externe Registrierungen verwendet werden sollen, die sich in der ausgewählten NuGet.configbefinden. Dies ist der Name Ihrer NuGet-Dienstverbindung. Für Feeds in dieser Organisation oder Sammlung lassen Sie dieses Leerzeichen; die Anmeldeinformationen des Builds werden automatisch verwendet.
noCache
-
Deaktivieren des lokalen Caches
boolean. Optional. Wird verwendet, wenn command = restore. Standardwert: false.
Verhindert, dass NuGet Pakete von lokalen Computercaches verwendet, wenn diese auf truefestgelegt sind.
disableParallelProcessing
-
Parallelverarbeitung deaktivieren
boolean. Optional. Wird verwendet, wenn command = restore. Standardwert: false.
Verhindert, dass NuGet mehrere Pakete in parallelen Prozessen installiert, wenn diese auf truefestgelegt sind.
restoreDirectory
-
Zielverzeichnis
Eingabe-Alias: packagesDirectory.
string. Optional. Wird verwendet, wenn command = restore.
Gibt den Ordner an, in dem Pakete installiert werden. Wenn kein Ordner angegeben ist, werden Pakete zusammen mit der ausgewählten Lösung, packages/oder packages.configin einem project.json Ordner wiederhergestellt.
verbosityRestore
-
Wortfülle
string. Optional. Wird verwendet, wenn command = restore. Zulässige Werte: Quiet, Normal, Detailed. Standardwert: Detailed.
Gibt die Menge an Details an, die in der Ausgabe angezeigt werden.
packagesToPush
-
Pfad zu NuGet-Paketen zum Veröffentlichen von
Eingabe-Alias: searchPatternPush.
string. Erforderlich, wenn command = push. Standardwert: $(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg.
Gibt das Muster an, das mit nupkg hochzuladenden Dateien abgeglichen werden soll. Mehrere Muster können durch ein Semikolon getrennt werden.
nuGetFeedType
-
Zielfeedspeicherort
string. Erforderlich, wenn command = push. Zulässige Werte: internal (Diese Organisation/Sammlung), external (externer NuGet-Server (einschließlich anderer Konten/Sammlungen)). Standardwert: internal.
Gibt an, ob der Zielfeed ein interner Feed/eine interne Auflistung oder ein externer NuGet-Server ist.
publishVstsFeed
-
Ziel-Feed
Eingabe-Alias: feedPublish.
string. Erforderlich, wenn command = push && nuGetFeedType = internal.
Gibt einen feed an, der in diesem Konto gehostet wird. Sie müssen Azure Artifacts installiert und lizenziert haben, um hier einen Feed auszuwählen.
publishPackageMetadata
-
Veröffentlichen von Pipelinemetadaten
boolean. Optional. Wird verwendet, wenn command = push && nuGetFeedType = internal. Standardwert: true.
Ändert die Versionsnummer der Teilmenge der geänderten Pakete innerhalb einer Reihe kontinuierlich veröffentlichter Pakete.
allowPackageConflicts
-
Zulassen, dass Duplikate übersprungen werden
boolean. Optional. Wird verwendet, wenn command = push && nuGetFeedType = internal. Standardwert: false.
Meldet den Vorgangserfolg, auch wenn einige Ihrer Pakete mit 409 Konfliktfehlern abgelehnt werden.
Diese Option ist derzeit nur für Azure-Pipelines und Windows-Agents verfügbar. Wenn NuGet.exe einen Konflikt findet, schlägt die Aufgabe fehl. Diese Option funktioniert nicht, und die Veröffentlichung schlägt fehl, wenn Sie sich in einer Proxyumgebung befinden.
publishFeedCredentials
-
NuGet-Server
Eingabe-Alias: externalEndpoint.
string. Erforderlich, wenn command = push && nuGetFeedType = external.
Gibt die NuGet-Dienstverbindung an, die die Anmeldeinformationen des externen NuGet-Servers enthält.
verbosityPush
-
Wortfülle
string. Optional. Wird verwendet, wenn command = push. Zulässige Werte: Quiet, Normal, Detailed. Standardwert: Detailed.
Gibt die Menge an Details an, die in der Ausgabe angezeigt werden.
packagesToPack
-
Pfad zu csproj- oder nuspec-Dateien zum Packen
Eingabe-Alias: searchPatternPack.
string. Erforderlich, wenn command = pack. Standardwert: **/*.csproj.
Gibt das Muster an, das von der Aufgabe zum Suchen nach csproj-Verzeichnissen zum Packen verwendet wird.
Sie können mehrere Muster durch ein Semikolon trennen, und Sie können ein Muster negativ machen, indem Sie es mit !voranstellen. Beispiel: **\*.csproj;!**\*.Tests.csproj.
configuration
-
Konfiguration zum Packen
Eingabe-Alias: configurationToPack.
string. Optional. Wird verwendet, wenn command = pack. Standardwert: $(BuildConfiguration).
Gibt die Konfiguration an, die bei Verwendung einer csproj-Datei verpackt werden soll.
packDestination
-
Paket-Ordner
Eingabe-Alias: outputDir.
string. Optional. Wird verwendet, wenn command = pack. Standardwert: $(Build.ArtifactStagingDirectory).
Gibt den Ordner an, in dem die Aufgabe Pakete erstellt. Wenn der Wert leer ist, erstellt die Aufgabe Pakete im Quellstamm.
versioningScheme
-
automatische Paketversionsverwaltung
string. Erforderlich, wenn command = pack. Zulässige Werte: off, byPrereleaseNumber (Datum und Uhrzeit verwenden), byEnvVar (Umgebungsvariable verwenden), byBuildNumber (Buildnummer verwenden). Standardwert: off.
Wendet die automatische Paketversionsverwaltung abhängig vom angegebenen Wert an. Diese Zeichenfolge kann nicht mit includeReferencedProjectsverwendet werden. Die zulässigen Werte sind:
-
byPrereleaseNumber- Verwenden Sie das Datum und die Uhrzeit: Die Aufgabe generiert eine SemVer--kompatible Version, die alsX.Y.Z-ci-datetimeformatiert ist, wobei Sie die Werte von X, Y und Z angeben. -
byEnvVar- Verwenden Sie eine Umgebungsvariable: Die Aufgabe verwendet eine Umgebungsvariable, die Sie angeben und die Versionsnummer enthält, die Sie verwenden möchten. -
byBuildNumber- Verwenden Sie die Buildnummer: Die Aufgabe verwendet die Buildnummer, um das Paket zu versionieren.
Note
Legen Sie unter "Allgemein" das Buildformat auf $(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)fest.
includeReferencedProjects
-
Einschließen von referenzierten Projekten
boolean. Optional. Wird verwendet, wenn versioningScheme = off && command = pack. Standardwert: false.
Enthält referenzierte Projekte entweder als Abhängigkeiten oder als Teil des Pakets. Kann nicht mit der automatischen Paketversionsverwaltung verwendet werden. Wenn ein referenziertes Projekt über eine entsprechende nuspec Datei mit demselben Namen wie das Projekt verfügt, wird das referenzierte Projekt als Abhängigkeit hinzugefügt. Andernfalls wird das referenzierte Projekt als Teil des Pakets hinzugefügt. Erfahren Sie mehr über mithilfe des Paketbefehls für NuGet CLI zum Erstellen von NuGet-Paketen.
versionEnvVar
-
Umgebungsvariable
string. Erforderlich, wenn versioningScheme = byEnvVar && command = pack.
Gibt den Variablennamen ohne $, $envoder %an.
majorVersion
-
Haupt
Eingabe-Alias: requestedMajorVersion.
string. Erforderlich, wenn versioningScheme = byPrereleaseNumber && command = pack. Standardwert: 1.
Die in der X Version X.Y.Z.
minorVersion
-
Kleiner
Eingabe-Alias: requestedMinorVersion.
string. Erforderlich, wenn versioningScheme = byPrereleaseNumber && command = pack. Standardwert: 0.
Die in der Y Version X.Y.Z.
patchVersion
-
Flicken
Eingabe-Alias: requestedPatchVersion.
string. Erforderlich, wenn versioningScheme = byPrereleaseNumber && command = pack. Standardwert: 0.
Die in der Z Version X.Y.Z.
packTimezone
-
Zeitzone
string. Optional. Wird verwendet, wenn versioningScheme = byPrereleaseNumber && command = pack. Zulässige Werte: utc, local (Ortszeit des Agents). Standardwert: utc.
Gibt die gewünschte Zeitzone an, die zur Erstellung der Version des Pakets verwendet wird. Die Auswahl utc wird empfohlen, wenn Sie gehostete Build-Agents verwenden, da sich das Datum und die Uhrzeit möglicherweise unterscheiden.
includeSymbols
-
Symbolpaket erstellen
boolean. Optional. Wird verwendet, wenn command = pack. Standardwert: false.
Gibt an, dass das Paket Quellen und Symbole enthält. Bei Verwendung mit einer .nuspec Datei erstellt dies eine normale NuGet-Paketdatei und das entsprechende Symbolpaket.
toolPackage
-
Werkzeug-Paket
boolean. Optional. Wird verwendet, wenn command = pack. Standardwert: false.
Bestimmt, ob sich die Ausgabedateien des Projekts im Toolordner befinden sollen.
buildProperties
-
Zusätzliche Buildeigenschaften
string. Optional. Wird verwendet, wenn command = pack.
Gibt eine Liste von Token=Wertpaaren an, getrennt durch Semikolons, wobei jedes Vorkommen von $token$ in der .nuspec Datei durch den angegebenen Wert ersetzt wird. Werte können Zeichenfolgen in Anführungszeichen sein.
basePath
-
Basis-Pfad
string. Optional. Wird verwendet, wenn command = pack.
Gibt den Basispfad der in der nuspec Datei definierten Dateien an.
verbosityPack
-
Wortfülle
string. Optional. Wird verwendet, wenn command = pack. Zulässige Werte: Quiet, Normal, Detailed. Standardwert: Detailed.
Gibt die Menge an Details an, die in der Ausgabe angezeigt werden.
arguments
-
Befehl und Argumente
string. Erforderlich, wenn command = custom.
Gibt den Befehl und die Argumente an, die zur Ausführung an NuGet.exe übergeben werden. Wenn NuGet 3.5 oder höher verwendet wird, werden authentifizierte Befehle wie list, restoreund publish für jeden Feed in dieser Organisation oder Sammlung, auf den der Project Collection Build Service Zugriff hat, automatisch authentifiziert.
Aufgabensteuerungsoptionen
Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.
Ausgabevariablen
None.
Remarks
Important
Wenn Sie sich mit Azure Artifacts oder anderen NuGet-Repositorys authentifizieren möchten, müssen Sie anstelle der NuGetCommand@2 Aufgabe die NuGet-Authentifizierungsaufgabe verwenden. Die NuGetCommand@2 Aufgabe wird nicht mehr mit neuen Funktionen aktualisiert, sondern nur kritische Fehler werden behoben.
Verwenden Sie diese Aufgabe, um NuGet-Pakete wiederherzustellen, zu packen oder zu pushen oder einen NuGet-Befehl auszuführen. Diese Aufgabe verwendet NuGet.exe und funktioniert mit .NET Framework-Apps . Wenn Sie mit .NET Core oder .NET Standard arbeiten, verwenden Sie die .NET Core-Aufgabe , die vollständige Unterstützung für alle Paketszenarien bietet und derzeit von dotnet unterstützt wird.
Wenn Ihr Code von NuGet-Paketen abhängt und Sie diese Abhängigkeiten wiederherstellen müssen, bevor Sie Ihr Projekt mit der Visual Studio-Buildaufgabenaufgabe erstellen, können Sie die nugetAuthenticate - und Befehlszeilenaufgaben verwenden, um Ihre Pakete wiederherzustellen. Platzieren Sie beide Aufgaben vor dem Buildschritt, um sicherzustellen, dass alle Abhängigkeiten verfügbar sind, bevor der Build gestartet wird. Weitere Informationen finden Sie unter Wiederherstellen von NuGet-Paketen .
Wenn Sie die Visual Studio-Buildaufgabe verwenden, stellen Sie sicher, dass Sie das Argument restoreNugetPackages leer lassen, da die Option "NuGet-Pakete wiederherstellen" in der VSBuild@1 Aufgabe veraltet ist.
Tip
Diese Version der NuGet-Aufgabe verwendet Standardmäßig NuGet 4.1.0. Um eine andere Version von NuGet auszuwählen, verwenden Sie den Tool-Installer.
Versionsverwaltungsschemas
Für byPrereleaseNumber wird die Version auf die Werte festgelegt, die Sie für die Hauptversion, die Nebenversion und den Patch sowie das Datum und die Uhrzeit im Format yyyymmdd-hhmmss.
Für byEnvVar wird die Version auf den Wert der Umgebungsvariablen gesetzt, die den Namen hat, der durch den Parameter versionEnvVar angegeben wird, z. B. MyVersion (nein $, nur der Name der Umgebungsvariablen). Stellen Sie sicher, dass die Umgebungsvariable auf ein richtiges SemVer festgelegt ist, z. B. 1.2.3 oder 1.2.3-beta1.
Für byBuildNumber wird die Version anhand der Buildnummer des Pipelinelaufs festgelegt. Dies ist der für die name-Eigenschaft der Pipeline angegebene Wert, der in der BUILD_BUILDNUMBER Umgebungsvariable gespeichert wird). Stellen Sie sicher, dass die verwendete Buildnummer ein ordnungsgemäßes SemVer enthält, z. B. 1.0.$(Rev:r). Bei Verwendung von byBuildNumber extrahiert die Aufgabe die gepunktete Version 1.2.3.4aus der Buildnummernzeichenfolge und verwendet nur diesen Teil. Der Rest der Zeichenfolge wird gelöscht. Wenn Sie die Buildnummer unverändert verwenden möchten, können Sie byEnvVar wie oben beschrieben verwenden und versionEnvVar auf BUILD_BUILDNUMBERfestlegen.
Migrieren von NuGetInstaller@0 oder NuGetRestore@1
NuGetInstaller@0 und NuGetRestore@1 sind veraltet, und Sie sollten sie in Ihrer Pipeline durch NuGetCommand@2ersetzen.
Wenn Sie NuGetInstaller@0 mit restoreMode: restoreverwendet haben, konfigurieren Sie die folgenden Eingaben bei Verwendung von NuGetCommand@2.
| NuGetCommand@2 Aufgabeneingabe | Value |
|---|---|
command |
restore |
restoreSolution |
Pfad der .sln-Datei |
Wenn Sie NuGetInstaller@0 mit restoreMode: installverwendet haben, konfigurieren Sie die folgenden Eingaben bei Verwendung von NuGetCommand@2.
| NuGetCommand@2 Aufgabeneingabe | Value |
|---|---|
command |
custom |
arguments |
Wie der vollständige Installationsbefehl in der NuGet CLI aussehen würde. Wenn Sie beispielsweise das Äquivalent von nuget install ninject -OutputDirectory c:\proj in Der Pipeline ausführen möchten, wäre der arguments Parameter install ninject -OutputDirectory c:\proj. Wenn Sie den parameter NuGetInstaller@0nuGetRestoreArgs verwenden, gehen Sie jetzt auch in arguments. |
Wenn Sie NuGetRestore@1verwendet haben, konfigurieren Sie bei Verwendung von NuGetCommand@2die folgenden Eingaben.
| NuGetCommand@2 Aufgabeneingabe | Value |
|---|---|
command |
restore |
restoreSolution |
Pfad der .sln-Datei |
Ähnlich wie bei der Verwendung von NuGetRestore@1 oder der option NuGetInstaller@0restore verfügt NuGetCommand@2 über Eingaben zum Festlegen des Feeds, entscheiden zwischen select oder config, geben Sie den Pfad zur NuGet.config Datei an, und verwenden Sie Pakete aus nuget.org.
Weitere Informationen finden Sie in den folgenden Beispielen.
Unterstützung für neuere ubuntu gehostete Bilder
Ab Ubuntu 24.04 werden von Microsft gehostete Agents nicht mit Mono- ausgeliefert, die zum Ausführen des zugrunde liegenden NuGet-Clients erforderlich sind, der NuGetCommand@2. Benutzer dieser Aufgabe auf Ubuntu sollten zu der langfristig unterstützten plattformübergreifenden Aufgabe NuGetAuthenticate@1 mit .NET CLI migrieren.
Migrieren zu .NET CLI unter Ubuntu
Die NuGet-Authentifizierungsaufgabe verarbeitet das Einfügen von Anmeldeinformationen an die erforderlichen Stellen, damit sich Clienttools als Pipelineidentität authentifizieren können. In den Abschnitten Beispiele und Hinweise finden Sie weitere Informationen zur Verwendung NuGet Authenticate mit dotnet.
Wenn dotnet CLI-Befehle Ihr Szenario nicht unterstützen, melden Sie dies dem .NET CLI-Team als Problem. Möglicherweise Sie Ihr Agent-Image an Ubuntu 22.04 oder früherenanheften. Der Ubuntu 22.04-Support wird fortgesetzt, bis Ubuntu 26.04 allgemein verfügbar gemacht wird, nicht früher als 2026.
Warum schlägt meine Buildpipeline fehl und fordert zur SSO-Authentifizierung (Single Sign-On) auf?
Builds können fehlschlagen, wenn die Anmeldeinformationen abgelaufen sind. Um diese Fehler zu vermeiden, wird empfohlen, den NuGet-Authentifizierungstask zu verwenden, um den Anmeldeinformationsanbieter neu zu installieren und die Anmeldeinformationen automatisch zu aktualisieren. Dadurch wird ein ununterbrochener Zugriff während der Pipelineausführung gewährleistet.
steps:
# Authenticate with NuGet to ensure credentials are refreshed
- task: NuGetAuthenticate@1
# Restore NuGet packages
- task: NuGetCommand@2
inputs:
command: 'restore'
restoreSolution: '**/*.sln'
feedsToUse: 'select'
Examples
Restore
Stellen Sie alle Ihre Lösungen mit Paketen aus einem ausgewählten Feed wieder her.
# Restore from a project scoped feed in the same organization
- task: NuGetCommand@2
inputs:
command: 'restore'
feedsToUse: 'select'
vstsFeed: 'my-project/my-project-scoped-feed'
includeNuGetOrg: false
restoreSolution: '**/*.sln'
# Restore from an organization scoped feed in the same organization
- task: NuGetCommand@2
inputs:
command: 'restore'
feedsToUse: 'select'
vstsFeed: 'my-organization-scoped-feed'
restoreSolution: '**/*.sln'
# Restore from a feed in a different organization
- task: NuGetCommand@2
inputs:
command: 'restore'
feedsToUse: config
nugetConfigPath: ./nuget.config
restoreSolution: '**/*.sln'
externalFeedCredentials: 'MyServiceConnectionName'
noCache: true
continueOnError: true
# Restore from feed(s) set in nuget.config
- task: NuGetCommand@2
inputs:
command: 'restore'
feedsToUse: 'config'
nugetConfigPath: 'nuget.config'
Package
Erstellen Sie ein NuGet-Paket im Zielordner.
# Package a project
- task: NuGetCommand@2
inputs:
command: 'pack'
packagesToPack: '**/*.csproj'
packDestination: '$(Build.ArtifactStagingDirectory)'
Push
Note
Pipelineartefakte werden in das verzeichnis Pipeline.Workspace und in das System.ArtifactsDirectory Verzeichnis für klassische Releasepipelines heruntergeladen.
packagesToPush Wert kann auf $(Pipeline.Workspace)/**/*.nupkg oder $(System.ArtifactsDirectory)/**/*.nupkg festgelegt werden.
Pushen/Veröffentlichen eines Pakets in einen Feed, der in Ihrem NuGet.configdefiniert ist.
# Push a project - task: NuGetCommand@2 inputs: command: 'push' packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg' feedsToUse: 'config' nugetConfigPath: '$(Build.WorkingDirectory)/NuGet.config'Pushen/Veröffentlichen eines Pakets in einem bezogenen Feed einer Organisation
# Push a project - task: NuGetCommand@2 inputs: command: 'push' nuGetFeedType: 'internal' publishVstsFeed: 'my-organization-scoped-feed'Pushen/Veröffentlichen eines Pakets in einem Projektbereichsfeed
# Push a project - task: NuGetCommand@2 inputs: command: 'push' nuGetFeedType: 'internal' publishVstsFeed: 'my-project/my-project-scoped-feed'Pushen/Veröffentlichen eines Pakets auf NuGet.org
# Push a project - task: NuGetCommand@2 inputs: command: 'push' feedsToUse: 'config' includeNugetOrg: 'true'
Custom
Führen Sie alle anderen NuGet-Befehle neben den Standardbefehlen aus: Packen, Pushen und Wiederherstellen.
# list local NuGet resources.
- task: NuGetCommand@2
displayName: 'list locals'
inputs:
command: custom
arguments: 'locals all -list'
Requirements
| Requirement | Description |
|---|---|
| Pipeline-Typen | YAML, Classic Build, Classic Release |
| Läuft auf | Agent, DeploymentGroup |
| Demands | None |
| Capabilities | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
| Einschränkungen von Befehlen | Any |
| Einstellbare Variablen | Any |
| Version des Agenten | 2.144.0 oder höher |
| Aufgabenkategorie | Package |
| Requirement | Description |
|---|---|
| Pipeline-Typen | YAML, Classic Build, Classic Release |
| Läuft auf | Agent, DeploymentGroup |
| Demands | None |
| Capabilities | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
| Einschränkungen von Befehlen | Any |
| Einstellbare Variablen | Any |
| Version des Agenten | 2.115.0 oder höher |
| Aufgabenkategorie | Package |