NuGetCommand@2 — zadanie NuGet w wersji 2

To zadanie służy do przywracania, pakowania lub wypychania pakietów NuGet albo uruchamiania polecenia NuGet. To zadanie obsługuje NuGet.org i uwierzytelnione źródła danych, takie jak Azure Artifacts i MyGet. To zadanie używa również NuGet.exe i współpracuje z aplikacjami .NET Framework. W przypadku aplikacji .NET Core i .NET Standard użyj zadania .NET Core.

Składnia

# 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 && command = push. 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 Package Management 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 account/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
    #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.

Dane wejściowe

command - Polecenia
string. Wymagane. Dozwolone wartości: restore, pack, push, custom. Wartość domyślna: restore.

Określa polecenie NuGet do uruchomienia. custom Użyj wartości , aby dodać argumenty lub użyć innego polecenia.


restoreSolution - Ścieżka do rozwiązania, packages.config lub project.json
Alias wejściowy: solution. string. Wymagane, gdy command = restore. Wartość domyślna: **/*.sln.

Określa ścieżkę do rozwiązania, lub project.json pliku, packages.configktóry odwołuje się do pakietów do przywrócenia.


feedsToUse - Kanały informacyjne do użycia
Alias wejściowy: selectOrConfig. string. Wymagane, gdy command = restore. Dozwolone wartości: select (kanały informacyjne, które wybieram tutaj), config (kanały informacyjne w moim NuGet.config). Wartość domyślna: select.

Określa źródło danych z usługi Azure Artifacts i/lub NuGet.org dla zadania, które ma być używane z wartością select . Alternatywnie możesz zatwierdzić NuGet.config plik w repozytorium kodu źródłowego i ustawić jego ścieżkę jako wartość przy użyciu config wartości .


vstsFeed - Używanie pakietów z tego kanału informacyjnego usługi Azure Artifacts/serwera TFS
Alias wejściowy: feedRestore. string. Opcjonalny. Użyj polecenia , gdy selectOrConfig = select && command = restore.

Określa wybrane źródło danych w wygenerowanych NuGet.configelementach . Aby określić tutaj źródło danych, musisz mieć zainstalowane i licencjonowane zarządzanie pakietami.


includeNuGetOrg - Korzystanie z pakietów z NuGet.org
boolean. Opcjonalny. Użyj polecenia , gdy selectOrConfig = select && command = restore. Wartość domyślna: true.

Uwzględnia NuGet.org w wygenerowanych NuGet.configelementach .


nugetConfigPath - Ścieżka do NuGet.config
string. Opcjonalny. Użyj polecenia , gdy selectOrConfig = config && command = restore.

Określa ścieżkę do NuGet.config repozytorium, która określa źródła danych, z których mają być przywracane pakiety.


externalFeedCredentials - Poświadczenia źródeł danych spoza tej organizacji/kolekcji
Alias wejściowy: externalEndpoints. string. Opcjonalny. Użyj polecenia , gdy selectOrConfig = config && command = restore.

Określa poświadczenia do użycia dla rejestrów zewnętrznych znajdujących się w wybranym NuGet.configobiekcie . Jest to nazwa połączenia usługi NuGet. W przypadku źródeł danych w tej organizacji lub kolekcji pozostaw to pole puste; poświadczenia kompilacji są używane automatycznie.


externalFeedCredentials - Poświadczenia źródeł danych spoza tego konta/kolekcji
Alias wejściowy: externalEndpoints. string. Opcjonalny. Użyj polecenia , gdy selectOrConfig = config && command = restore.

Określa poświadczenia do użycia dla rejestrów zewnętrznych znajdujących się w wybranym NuGet.configobiekcie . Jest to nazwa połączenia usługi NuGet. W przypadku źródeł danych w tym koncie lub kolekcji pozostaw to pole puste; poświadczenia kompilacji są używane automatycznie.


noCache - Wyłączanie lokalnej pamięci podręcznej
boolean. Opcjonalny. Użyj polecenia , gdy command = restore. Wartość domyślna: false.

Uniemożliwia programowi NuGet używanie pakietów z pamięci podręcznych komputera lokalnego, gdy jest ustawiona wartość true.


disableParallelProcessing - Wyłączanie przetwarzania równoległego
boolean. Opcjonalny. Użyj polecenia , gdy command = restore. Wartość domyślna: false.

Uniemożliwia programowi NuGet instalowanie wielu pakietów w procesach równoległych w przypadku ustawienia wartości true.


restoreDirectory - Katalog docelowy
Alias wejściowy: packagesDirectory. string. Opcjonalny. Użyj polecenia , gdy command = restore.

Określa folder, w którym są instalowane pakiety. Jeśli żaden folder nie zostanie określony, pakiety zostaną przywrócone do folderu obok wybranego packages/ rozwiązania, packages.configlub project.json.


verbosityRestore - Szczegółowości
string. Opcjonalny. Użyj polecenia , gdy command = restore. Dozwolone wartości: Quiet, Normal, Detailed. Wartość domyślna: Detailed.

Określa ilość szczegółów wyświetlanych w danych wyjściowych.


packagesToPush - Ścieżka do pakietów NuGet do opublikowania
Alias wejściowy: searchPatternPush. string. Wymagane, gdy command = push. Wartość domyślna: $(Build.ArtifactStagingDirectory)/**/*.nupkg;!$(Build.ArtifactStagingDirectory)/**/*.symbols.nupkg.

Określa wzorzec dopasowania lub ścieżki do nupkg plików do przekazania. Wiele wzorców może być rozdzielonych średnikami.


nuGetFeedType - Docelowa lokalizacja kanału informacyjnego
string. Wymagane, gdy command = push. Dozwolone wartości: internal (ta organizacja/kolekcja), external (zewnętrzny serwer NuGet (w tym inne konta/kolekcje)). Wartość domyślna: internal.

Określa, czy źródło danych docelowych jest wewnętrznym źródłem/kolekcją, czy zewnętrznym serwerem NuGet.


nuGetFeedType - Docelowa lokalizacja kanału informacyjnego
string. Wymagane, gdy command = push. Dozwolone wartości: internal (to konto/kolekcja), external (zewnętrzny serwer NuGet (w tym inne konta/kolekcje)). Wartość domyślna: internal.

Określa, czy źródło danych docelowych jest wewnętrznym źródłem/kolekcją, czy zewnętrznym serwerem NuGet.


publishVstsFeed - Źródło danych docelowych
Alias wejściowy: feedPublish. string. Wymagane, gdy command = push && nuGetFeedType = internal.

Określa źródło danych hostowane na tym koncie. Aby wybrać źródło danych, musisz mieć zainstalowaną i licencjonowaną usługę Azure Artifacts.


publishPackageMetadata - Publikowanie metadanych potoku
boolean. Opcjonalny. Użyj polecenia , gdy command = push && nuGetFeedType = internal && command = push. Wartość domyślna: true.

Zmienia numer wersji podzestawu zmienionych pakietów w zestawie stale publikowanych pakietów.


allowPackageConflicts - Zezwalaj na pomijanie duplikatów
boolean. Opcjonalny. Użyj polecenia , gdy command = push && nuGetFeedType = internal. Wartość domyślna: false.

Zgłasza powodzenie zadania, nawet jeśli niektóre pakiety zostaną odrzucone z błędami 409 konfliktów.

Ta opcja jest obecnie dostępna tylko w usłudze Azure Pipelines i agentach systemu Windows. Jeśli NuGet.exe wystąpi konflikt, zadanie zakończy się niepowodzeniem. Ta opcja nie będzie działać i publikowanie zakończy się niepowodzeniem, jeśli jesteś w środowisku proxy.


publishFeedCredentials - Serwer NuGet
Alias wejściowy: externalEndpoint. string. Wymagane, gdy command = push && nuGetFeedType = external.

Określa połączenie usługi NuGet, które zawiera poświadczenia zewnętrznego serwera NuGet.


verbosityPush - Szczegółowości
string. Opcjonalny. Użyj polecenia , gdy command = push. Dozwolone wartości: Quiet, Normal, Detailed. Wartość domyślna: Detailed.

Określa ilość szczegółów wyświetlanych w danych wyjściowych.


packagesToPack - Ścieżka do plików csproj lub nuspec do spakowania
Alias wejściowy: searchPatternPack. string. Wymagane, gdy command = pack. Wartość domyślna: **/*.csproj.

Określa wzorzec używany przez zadanie do wyszukiwania katalogów csproj do spakowania.

Można oddzielić wiele wzorców średnikami i utworzyć wzorzec ujemny, prefiksując go za pomocą !. Przykład: **\*.csproj;!**\*.Tests.csproj.


configuration - Konfiguracja pakietu
Alias wejściowy: configurationToPack. string. Opcjonalny. Użyj polecenia , gdy command = pack. Wartość domyślna: $(BuildConfiguration).

Określa konfigurację pakietu w przypadku korzystania z pliku csproj.


packDestination - Folder pakietu
Alias wejściowy: outputDir. string. Opcjonalny. Użyj polecenia , gdy command = pack. Wartość domyślna: $(Build.ArtifactStagingDirectory).

Określa folder, w którym zadanie tworzy pakiety. Jeśli wartość jest pusta, zadanie tworzy pakiety w katalogu głównym źródła.


versioningScheme - Automatyczne przechowywanie wersji pakietów
string. Wymagane, gdy command = pack. Dozwolone wartości: off, byPrereleaseNumber (użyj daty i godziny), byEnvVar (użyj zmiennej środowiskowej) byBuildNumber (użyj numeru kompilacji). Wartość domyślna: off.

Stosuje automatyczne przechowywanie wersji pakietu w zależności od określonej wartości. Tego ciągu nie można używać z includeReferencedProjects. Dozwolone wartości to:

  • byPrereleaseNumber - Użyj daty i godziny: zadanie wygeneruje zgodną ze standardem SemVer wersję w formacie X.Y.Z-ci-datetime, w której określisz wartości X, Y i Z.
  • byEnvVar- Użyj zmiennej środowiskowej: zadanie będzie używać określonej zmiennej środowiskowej i zawiera numer wersji, którego chcesz użyć.
  • byBuildNumber - Użyj numeru kompilacji: zadanie użyje numeru kompilacji do wersji pakietu.

Uwaga

W obszarze Ogólne ustaw format kompilacji na $(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r).


includeReferencedProjects - Dołączanie projektów, do których odwołuje się odwołanie
boolean. Opcjonalny. Użyj polecenia , gdy versioningScheme = off && command = pack. Wartość domyślna: false.

Zawiera przywołyne projekty jako zależności lub jako część pakietu. Nie można używać z automatycznym przechowywaniem wersji pakietów. Jeśli przywoływany projekt ma odpowiedni nuspec plik o tej samej nazwie co projekt, ten przywoływany projekt zostanie dodany jako zależność. W przeciwnym razie w ramach pakietu zostanie dodany przywoływany projekt. Dowiedz się więcej o używaniu polecenia pack dla interfejsu wiersza polecenia nuGet do tworzenia pakietów NuGet.


versionEnvVar - Zmienna środowiskowa
string. Wymagane, gdy versioningScheme = byEnvVar && command = pack.

Określa nazwę zmiennej bez $, $envlub %.


majorVersion - Głównych
Alias wejściowy: requestedMajorVersion. string. Wymagane, gdy versioningScheme = byPrereleaseNumber && command = pack. Wartość domyślna: 1.

Element X w wersji X.Y.Z.


minorVersion - Drobne
Alias wejściowy: requestedMinorVersion. string. Wymagane, gdy versioningScheme = byPrereleaseNumber && command = pack. Wartość domyślna: 0.

Element Y w wersji X.Y.Z.


patchVersion - Patch
Alias wejściowy: requestedPatchVersion. string. Wymagane, gdy versioningScheme = byPrereleaseNumber && command = pack. Wartość domyślna: 0.

Element Z w wersji X.Y.Z.


packTimezone - Strefa czasowa
string. Opcjonalny. Użyj polecenia , gdy versioningScheme = byPrereleaseNumber && command = pack. Dozwolone wartości: utc, local (czas lokalny agenta). Wartość domyślna: utc.

Określa żądaną strefę czasową używaną do tworzenia wersji pakietu. Wybranie utc opcji jest zalecane, jeśli używasz hostowanych agentów kompilacji, ponieważ ich data i godzina mogą się różnić.


includeSymbols - Tworzenie pakietu symboli
boolean. Opcjonalny. Użyj polecenia , gdy command = pack. Wartość domyślna: false.

Określa, że pakiet zawiera źródła i symbole. W przypadku użycia z plikiem .nuspec powoduje to utworzenie zwykłego pliku pakietu NuGet i odpowiedniego pakietu symboli.


toolPackage - Pakiet narzędzi
boolean. Opcjonalny. Użyj polecenia , gdy command = pack. Wartość domyślna: false.

Określa, czy pliki wyjściowe projektu powinny znajdować się w folderze narzędzi.


buildProperties - Dodatkowe właściwości kompilacji
string. Opcjonalny. Użyj polecenia , gdy command = pack.

Określa listę par token=value rozdzielonych średnikami, gdzie każde wystąpienie $token$ pliku .nuspec zostanie zastąpione daną wartością. Wartości mogą być ciągami w cudzysłowie.


basePath - Ścieżka podstawowa
string. Opcjonalny. Użyj polecenia , gdy command = pack.

Określa ścieżkę podstawową plików zdefiniowanych w nuspec pliku.


verbosityPack - Szczegółowości
string. Opcjonalny. Użyj polecenia , gdy command = pack. Dozwolone wartości: Quiet, , DetailedNormal. Wartość domyślna: Detailed.

Określa ilość szczegółów wyświetlanych w danych wyjściowych.


arguments - Polecenia i argumenty
string. Wymagane, gdy command = custom.

Określa polecenie i argumenty, które zostaną przekazane do NuGet.exe wykonania. Jeśli jest używany pakiet NuGet 3.5 lub nowszy, uwierzytelnione polecenia, takie jak list, restorei publish względem dowolnego kanału informacyjnego w tej organizacji lub kolekcji, do których usługa kompilacji kolekcji projektów ma dostęp, zostanie automatycznie uwierzytelniona.


Opcje sterowania zadania

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

Zmienne wyjściowe

Brak.

Uwagi

Ważne

Zadanie NuGet Authenticate to nowy zalecany sposób uwierzytelniania za pomocą usługi Azure Artifacts i innych repozytoriów NuGet. To zadanie nie wymaga już nowych funkcji i dotyczy tylko krytycznych usterek.

To zadanie służy do instalowania i aktualizowania zależności pakietów NuGet lub pakietu i publikowania pakietów NuGet. Używa pliku NuGet.exe i współpracuje z aplikacjami .NET Framework. W przypadku aplikacji .NET Core i .NET Standard użyj zadania .NET Core.

Jeśli kod zależy od pakietów NuGet, pamiętaj o dodaniu tego kroku przed zadaniem kompilacji programu Visual Studio. Pamiętaj również, aby wyczyścić pole wyboru Przywróć przestarzałe pakiety NuGet w tym zadaniu.

Jeśli pracujesz z platformą .NET Core lub .NET Standard, użyj zadania .NET Core , które ma pełną obsługę wszystkich scenariuszy pakietów i jest obecnie obsługiwane przez platformę dotnet.

Porada

Ta wersja zadania NuGet domyślnie używa narzędzia NuGet 4.1.0. Aby wybrać inną wersję narzędzia NuGet, użyj Instalatora narzędzi.

Schematy przechowywania wersji

W przypadku elementu byPrereleaseNumber wersja zostanie ustawiona na wartości wybrane dla wersji głównej, wersji pomocniczej i poprawki oraz daty i godziny w formacie yyyymmdd-hhmmss.

W przypadku elementu byEnvVar wersja zostanie ustawiona na wartość zmiennej środowiskowej, która ma nazwę określoną przez parametr versionEnvVar , np. MyVersion (nie $, tylko nazwa zmiennej środowiskowej). Upewnij się, że zmienna środowiskowa jest ustawiona na odpowiedni element SemVer, na przykład 1.2.3 lub 1.2.3-beta1.

W przypadku elementu byBuildNumber wersja zostanie ustawiona przy użyciu numeru kompilacji przebiegu potoku. Jest to wartość określona dla właściwości potoku name , która jest zapisywana w zmiennej środowiskowej BUILD_BUILDNUMBER ). Upewnij się, że używany numer kompilacji zawiera odpowiedni element SemVer, na przykład 1.0.$(Rev:r). W przypadku korzystania z elementu byBuildNumber zadanie wyodrębni wersję kropkowaną , 1.2.3.4z ciągu numeru kompilacji i użyje tylko tej części. Pozostała część ciągu zostanie porzucona. Jeśli chcesz użyć numeru kompilacji w następujący sposób, możesz użyć wartości byEnvVar zgodnie z powyższym opisem i ustawić wersjęEnvVar na BUILD_BUILDNUMBER.

Migrowanie z NuGetInstaller@0 lub NuGetRestore@1

NuGetInstaller@0 i NuGetRestore@1 są przestarzałe i należy je zastąpić w potoku ciągiem NuGetCommand@2.

Jeśli używasz polecenia z programem NuGetInstaller@0restoreMode: restore, skonfiguruj następujące dane wejściowe podczas korzystania z polecenia NuGetCommand@2.

dane wejściowe zadania NuGetCommand@2 Wartość
command restore
restoreSolution Ścieżka do pliku .sln

Jeśli używasz polecenia z programem NuGetInstaller@0restoreMode: install, skonfiguruj następujące dane wejściowe podczas korzystania z polecenia NuGetCommand@2.

dane wejściowe zadania NuGetCommand@2 Wartość
command custom
arguments Jak wyglądałoby pełne polecenie instalacji w interfejsie wiersza polecenia Narzędzia NuGet. Jeśli na przykład chcesz uruchomić odpowiednik nuget install ninject -OutputDirectory c:\proj w potoku, arguments parametrem będzie install ninject -OutputDirectory c:\proj. Jeśli używasz parametru NuGetInstaller@0nuGetRestoreArgs , przejdź teraz również w pliku arguments.

Jeśli używasz metody NuGetRestore@1, skonfiguruj następujące dane wejściowe podczas korzystania z programu NuGetCommand@2.

dane wejściowe zadania NuGetCommand@2 Wartość
command restore
restoreSolution Ścieżka do pliku .sln

Podobnie jak w przypadku użycia NuGetRestore@1 lub NuGetInstaller@0restore opcji, ma dane wejściowe, NuGetCommand@2 aby ustawić kanał informacyjny, zdecydować między select lub config, określić ścieżkę do NuGet.config pliku i użyć pakietów z nuget.org.

Aby uzyskać więcej informacji, zobacz poniższe przykłady.

Przykłady

Przywracanie

Przywróć wszystkie rozwiązania przy użyciu pakietów z wybranego kanału informacyjnego.

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

Pakiet

Utwórz pakiet NuGet w folderze docelowym.

# Package a project
- task: NuGetCommand@2
  inputs:
    command: 'pack'
    packagesToPack: '**/*.csproj'
    packDestination: '$(Build.ArtifactStagingDirectory)'

Wypychanie

Uwaga

Artefakty potoku są pobierane do Pipeline.Workspace katalogu i do System.ArtifactsDirectory katalogu dla klasycznych potoków wydania. packagesToPush wartość można ustawić na $(Pipeline.Workspace)/**/*.nupkg wartość lub $(System.ArtifactsDirectory)/**/*.nupkg odpowiednio.

  • Wypychanie/publikowanie pakietu do kanału informacyjnego zdefiniowanego w NuGet.config.

    # Push a project
    - task: NuGetCommand@2
      inputs:
        command: 'push'
        packagesToPush: '$(Build.ArtifactStagingDirectory)/**/*.nupkg'
        feedsToUse: 'config'
        nugetConfigPath: '$(Build.WorkingDirectory)/NuGet.config'
    
  • Wypychanie/publikowanie pakietu w kanale informacyjnym o określonym zakresie organizacji

    # Push a project
    - task: NuGetCommand@2
      inputs:
        command: 'push'
        nuGetFeedType: 'internal'
        publishVstsFeed: 'my-organization-scoped-feed'
    
  • Wypychanie/publikowanie pakietu w kanale informacyjnym o określonym zakresie projektu

    # Push a project
    - task: NuGetCommand@2
      inputs:
        command: 'push'
        nuGetFeedType: 'internal'
        publishVstsFeed: 'my-project/my-project-scoped-feed'
    
  • Wypychanie/publikowanie pakietu do NuGet.org

    # Push a project
    - task: NuGetCommand@2
      inputs:
        command: 'push'
        feedsToUse: 'config'
        includeNugetOrg: 'true'
    

Niestandardowy

Uruchom inne polecenie NuGet oprócz domyślnych: pakiet, wypychanie i przywracanie.

# list local NuGet resources.
- task: NuGetCommand@2
  displayName: 'list locals'
  inputs:
    command: custom
    arguments: 'locals all -list'

Wymagania

Wymaganie Opis
Typy potoków YAML, kompilacja klasyczna, wersja klasyczna
Działa na Agent, DeploymentGroup
Wymagania Brak
Możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
Ograniczenia poleceń Dowolne
Zmienne w formie tabeli settable Dowolne
Wersja agenta 2.144.0 lub nowsza
Kategoria zadania Pakiet
Wymaganie Opis
Typy potoków YAML, kompilacja klasyczna, wersja klasyczna
Działa na Agent, DeploymentGroup
Wymagania Brak
Możliwości To zadanie nie spełnia żadnych wymagań dotyczących kolejnych zadań w zadaniu.
Ograniczenia poleceń Dowolne
Zmienne w formie tabeli settable Dowolne
Wersja agenta 2.115.0 lub nowsza
Kategoria zadania Pakiet