nuget.config
odniesienie
Zachowanie narzędzia NuGet jest kontrolowane przez ustawienia w różnych NuGet.Config
plikach lub nuget.config
zgodnie z opisem w artykule Typowe konfiguracje nuGet.
nuget.config
to plik XML zawierający węzeł najwyższego poziomu <configuration>
, który zawiera elementy sekcji opisane w tym temacie. Każda sekcja zawiera zero lub więcej elementów. Zobacz przykładowy plik konfiguracji. Nazwy ustawień są niewrażliwe na wielkość liter, a wartości mogą używać zmiennych środowiskowych.
Napiwek
nuget.config
Dodaj plik w katalogu głównym repozytorium projektu. Jest to najlepsze rozwiązanie, ponieważ promuje powtarzalność i zapewnia, że różni użytkownicy mają tę samą konfigurację NuGet.
Może być konieczne skonfigurowanie clear
elementów, aby upewnić się, że nie zastosowano konfiguracji specyficznej dla użytkownika ani maszyny. Dowiedz się więcej o sposobie stosowania ustawień.
sekcja konfiguracji
Zawiera różne ustawienia konfiguracji, które można ustawić za pomocą nuget config
polecenia .
dependencyVersion
i repositoryPath
mają zastosowanie tylko do projektów przy użyciu polecenia packages.config
. globalPackagesFolder
dotyczy tylko projektów korzystających z formatu PackageReference.
Key | Wartość |
---|---|
dependencyVersion (packages.config tylko) |
Wartość domyślna DependencyVersion instalacji, przywracania i aktualizowania pakietu, gdy -DependencyVersion przełącznik nie jest określony bezpośrednio. Ta wartość jest również używana przez interfejs użytkownika Menedżer pakietów NuGet. Wartości to Lowest , , HighestMinor HighestPatch , Highest . |
globalPackagesFolder | Lokalizacja domyślnego folderu pakietów globalnych. Wartość domyślna to %userprofile%\.nuget\packages (Windows) lub ~/.nuget/packages (Mac/Linux). Ścieżkę względną można używać w plikach specyficznych dla nuget.config projektu. To ustawienie jest zastępowane przez zmienną NUGET_PACKAGES środowiskową, która ma pierwszeństwo. |
repositoryPath (packages.config tylko) |
Lokalizacja, w której mają być instalowane pakiety NuGet zamiast folderu domyślnego $(Solutiondir)/packages . Ścieżkę względną można używać w plikach specyficznych dla nuget.config projektu. |
defaultPushSource | Identyfikuje adres URL lub ścieżkę źródła pakietu, które powinno być używane jako domyślne, jeśli nie zostaną znalezione żadne inne źródła pakietów dla operacji. |
no_proxy http_proxy http_proxy.user http_proxy.password | Ustawienia serwera proxy do użycia podczas nawiązywania połączenia ze źródłami pakietów; http_proxy powinien mieć format http://<username>:<password>@<domain> . Hasła są szyfrowane i nie można ich dodać ręcznie. W przypadku no_proxy parametru wartość jest rozdzielaną przecinkami listą domen pomijania serwera proxy. Możesz również użyć zmiennych środowiskowych http_proxy i no_proxy dla tych wartości. Aby uzyskać dodatkowe informacje, zobacz Ustawienia serwera proxy NuGet (skolima.blogspot.com). |
maxHttpRequestsPerSource | Określa maksymalną liczbę żądań równoległych wysyłanych z pakietu NuGet do każdego źródła pakietów na potrzeby rozwiązywania i pobierania zależności pakietu. Wartość domyślna elementu dotnet.exe to Int32.MaxValue , która pochodzi z HttpClientHandler.MaxConnectionsPerServer właściwości. To ustawienie nie ma wpływu na dotnet.exe Mac OS przyczynę, ponieważ limit ograniczania przepustowości jest ustawiony, aby 16 uniknąć zbyt wielu błędów otwartych plików. Wartość domyślna dla NuGet client tools tej funkcji jest uruchamiana na .NET Framework przykład Visual Studio i nuget.exe jest 64 włączona Windows i 1 na .Mono Wartość domyślna dla Packages.config projektów stylów jest ustawiona na Environment.ProcessorCount wartość . Skonfigurowanie maxHttpRequestsPerSource właściwości na wartość mniejszą niż domyślna może mieć wpływ na wydajność narzędzia NuGet. |
signatureValidationMode | Określa tryb weryfikacji używany do weryfikowania podpisów pakietu na potrzeby instalacji pakietu i przywracania. Wartości to accept , require . Wartość domyślna to accept . |
Przykład:
<config>
<add key="dependencyVersion" value="Highest" />
<add key="globalPackagesFolder" value="c:\packages" />
<add key="repositoryPath" value="c:\installed_packages" />
<add key="http_proxy" value="http://company-squid:3128@contoso.com" />
<add key="signatureValidationMode" value="require" />
<add key="maxHttpRequestsPerSource" value="16" />
</config>
sekcja bindingRedirects
Określa, czy pakiet NuGet wykonuje automatyczne przekierowania powiązań podczas instalowania pakietu.
Key | Wartość |
---|---|
skip | Wartość logiczna wskazująca, czy pominąć automatyczne przekierowania powiązań. Wartością domyślną jest false. |
Przykład:
<bindingRedirects>
<add key="skip" value="True" />
</bindingRedirects>
packageRestore section (sekcja packageRestore)
Steruje przywracaniem pakietów podczas kompilacji.
Key | Wartość |
---|---|
enabled | Wartość logiczna wskazująca, czy narzędzie NuGet może wykonywać automatyczne przywracanie. Można również ustawić EnableNuGetPackageRestore zmienną środowiskową z wartością True zamiast ustawiać ten klucz w pliku konfiguracji. |
automatyczne | Wartość logiczna wskazująca, czy pakiet NuGet powinien sprawdzać brakujące pakiety podczas kompilacji. |
Przykład:
<packageRestore>
<add key="enabled" value="true" />
<add key="automatic" value="true" />
</packageRestore>
sekcja rozwiązania
Określa, packages
czy folder rozwiązania jest uwzględniony w kontroli źródła. Ta sekcja działa tylko w nuget.config
plikach w folderze rozwiązania.
Key | Wartość |
---|---|
disableSourceControlIntegration | Wartość logiczna wskazująca, czy ignorować folder packages podczas pracy z kontrolą źródła. Wartość domyślna to false. |
Przykład:
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
Sekcje źródła pakietu
Wszystkie packageSources
elementy , packageSourceCredentials
, activePackageSource
trustedSigners
apikeys
disabledPackageSources
i packageSourceMapping
współpracują ze sobą, aby skonfigurować sposób działania pakietu NuGet z repozytoriami pakietów podczas operacji instalacji, przywracania i aktualizacji.
Polecenie nuget sources
jest zwykle używane do zarządzania tymi ustawieniami, z wyjątkiem apikeys
zarządzanych za pomocąnuget setapikey
polecenia i trustedSigners
zarządzanego nuget trusted-signers
za pomocą polecenia .
Należy pamiętać, że źródłowy adres URL nuget.org to https://api.nuget.org/v3/index.json
.
packageSources
Wyświetla listę wszystkich znanych źródeł pakietów. Kolejność jest ignorowana podczas operacji przywracania i z dowolnym projektem przy użyciu formatu PackageReference. Program NuGet uwzględnia kolejność źródeł dla operacji instalacji i aktualizacji w projektach przy użyciu polecenia packages.config
.
Atrybut XML | Purpose |
---|---|
Klawisz | (nazwa, która ma zostać przypisana do źródła pakietu) |
Wartość | Ścieżka lub adres URL źródła pakietu. |
protocolVersion | Używana wersja protokołu serwera NuGet. Bieżąca wersja to "3". Wartość domyślna to wersja "2", gdy nie wskazuje na adres URL źródła pakietu kończący się .json na (np. https://api.nuget.org/v3/index.json). Obsługiwane w programie NuGet 3.0 lub nowszym. Aby uzyskać więcej informacji na temat protokołu w wersji 3, zobacz Interfejs API serwera NuGet. |
allowInsecureConnections | Jeśli wartość false lub nie zostanie określona, program NuGet będzie emitować ostrzeżenie, gdy źródło używa protokołu HTTP, a nie https. Jeśli masz pewność, że komunikacja z tym źródłem nigdy nie będzie zagrożona atakami przechwytywczymi, możesz ustawić wartość true, aby pominąć ostrzeżenie. Obsługiwane w programie NuGet 6.8 lub nowszym. |
disableTLSCertificateValidation | Ta właściwość konfiguracji umożliwia wyłączenie weryfikacji certyfikatu SSL/TLS dla serwera HTTPS. Po ustawieniu wartości true serwer zignoruje wszelkie błędy związane z certyfikatami SSL/TLS, takimi jak wygasłe lub certyfikaty z podpisem własnym, i ustanowi połączenie bez walidacji. Obsługiwane w programie NuGet 6.11 lub nowszym. |
Przykład:
<packageSources>
<clear />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<add key="Contoso" value="https://contoso.com/packages/" />
<add key="http-source" value="http://httpsourcetrusted/" allowInsecureConnections="true" />
<add key="Invalid-certificate-https-source" value="https://httpsSourceTrusted/" disableTLSCertificateValidation="true" />
<add key="Test Source" value="c:\packages" />
</packageSources>
Uwaga
Użyj zaufanych źródeł pakietów.
Uwaga
W przypadku korzystania z interfejsu wiersza polecenia można wyrazić właściwość MSBuild lub (interfejs wiersza polecenia platformy NuGet)(interfejs wiersza polecenia NuGet),-Source
| aby zastąpić wartość zdefiniowaną RestoreSources
<packageSources>
w pliku NuGet.config.--source
Napiwek
Gdy <clear />
jest obecny dla danego węzła, NuGet ignoruje wcześniej zdefiniowane wartości konfiguracji dla tego węzła. Dowiedz się więcej o sposobie stosowania ustawień.
auditSources
Wyświetla listę wszystkich znanych źródeł inspekcji, które będą używane przez inspekcję NuGet podczas przywracania.
Jeśli nie podano źródeł inspekcji, przywracanie będzie używać źródeł pakietów i pomijać NU1905.
auditSources
dodano do pakietu NuGet 6.12.
Źródła inspekcji obsługują te same atrybuty co (, ), a źródła, które wymagają uwierzytelniania, są konfigurowane za pomocą packageSourceCredentials
polecenia , tak samo jak packageSources
. allowInsecureConnections
protocolVersion
packageSources
Przykład:
<auditSources>
<clear />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
</auditSources>
packageSourceCredentials
Przechowuje nazwy użytkowników i hasła dla źródeł, zazwyczaj określone za pomocą -username
przełączników i -password
z nuget sources
. Hasła są domyślnie szyfrowane, chyba że -storepasswordincleartext
jest również używana opcja.
Opcjonalnie można określić prawidłowe typy uwierzytelniania za pomocą przełącznika -validauthenticationtypes
.
Key | Wartość |
---|---|
nazwa użytkownika | Nazwa użytkownika źródła w postaci zwykłego tekstu. Uwaga: zmienne środowiskowe mogą służyć do zwiększenia bezpieczeństwa. |
hasło | Zaszyfrowane hasło dla źródła. Zaszyfrowane hasła są obsługiwane tylko w systemie Windows i można je odszyfrować tylko w przypadku użycia na tym samym komputerze i za pośrednictwem tego samego użytkownika co oryginalne szyfrowanie. |
cleartextpassword | Niezaszyfrowane hasło dla źródła. Uwaga: zmienne środowiskowe mogą służyć do zwiększenia bezpieczeństwa. |
validauthenticationtypes | Rozdzielona przecinkami lista prawidłowych typów uwierzytelniania dla tego źródła. Ustaw tę opcję na basic wartość , jeśli serwer anonsuje protokół NTLM lub negocjuj, a poświadczenia muszą być wysyłane przy użyciu mechanizmu Podstawowe, na przykład w przypadku używania tokenu pat z lokalnym serwerem Azure DevOps Server. Inne prawidłowe wartości to negotiate , , ntlm kerberos i digest , ale te wartości są mało prawdopodobne, aby były przydatne. |
Ostrzeżenie
Przechowywanie haseł w postaci zwykłego tekstu jest zdecydowanie odradzane. Należy pamiętać, że zaszyfrowane hasła są obsługiwane tylko w systemie Windows. Ponadto można je odszyfrować tylko wtedy, gdy są używane na tej samej maszynie i przez tego samego użytkownika, który pierwotnie je zaszyfrował. Aby uzyskać więcej informacji na temat bezpiecznego zarządzania poświadczeniami, zapoznaj się z najlepszymi rozwiązaniami w zakresie zabezpieczeń dotyczącymi używania pakietów z prywatnych źródeł danych.
Napiwek
Jeśli nieszyfrowane hasło zostanie przekazane dla password
komunikatu o błędzie "Parametr jest niepoprawny" wystąpi.
Przykład:
W pliku <packageSourceCredentials>
konfiguracji element zawiera węzły podrzędne dla każdej odpowiedniej nazwy źródłowej (spacje w nazwie są zastępowane ciągiem _x0020_
). Oznacza to, że w przypadku źródeł o nazwach "Contoso" i "Test Source" plik konfiguracji zawiera następujące elementy podczas korzystania z zaszyfrowanych haseł:
<packageSourceCredentials>
<Contoso>
<add key="Username" value="user@contoso.com" />
<add key="Password" value="..." />
</Contoso>
<Test_x0020_Source>
<add key="Username" value="user" />
<add key="Password" value="..." />
</Test_x0020_Source>
</packageSourceCredentials>
Ponadto można podać prawidłowe metody uwierzytelniania.
<packageSourceCredentials>
<Contoso>
<add key="Username" value="user@contoso.com" />
<add key="Password" value="..." />
<add key="ValidAuthenticationTypes" value="basic" />
</Contoso>
<Test_x0020_Source>
<add key="Username" value="user" />
<add key="Password" value="..." />
<add key="ValidAuthenticationTypes" value="basic, negotiate" />
</Test_x0020_Source>
</packageSourceCredentials>
W przypadku używania niezaszyfrowanych haseł przechowywanych w zmiennej środowiskowej:
<packageSourceCredentials>
<Contoso>
<add key="Username" value="user@contoso.com" />
<add key="ClearTextPassword" value="%ContosoPassword%" />
</Contoso>
<Test_x0020_Source>
<add key="Username" value="user" />
<add key="ClearTextPassword" value="%TestSourcePassword%" />
</Test_x0020_Source>
</packageSourceCredentials>
W przypadku korzystania z niezaszyfrowanych haseł:
Ostrzeżenie
Przechowywanie haseł w postaci zwykłego tekstu jest zdecydowanie odradzane.
<packageSourceCredentials>
<Contoso>
<add key="Username" value="user@contoso.com" />
<add key="ClearTextPassword" value="33f!!lloppa" />
</Contoso>
<Test_x0020_Source>
<add key="Username" value="user" />
<add key="ClearTextPassword" value="hal+9ooo_da!sY" />
</Test_x0020_Source>
</packageSourceCredentials>
apikeys
Przechowuje klucze dla źródeł, które używają uwierzytelniania klucza interfejsu API, zgodnie z ustawieniem za nuget setapikey
pomocą polecenia .
Key | Wartość |
---|---|
(źródłowy adres URL) | Zaszyfrowany klucz interfejsu API. |
Przykład:
<apikeys>
<add key="https://MyRepo/ES/api/v2/package" value="encrypted_api_key" />
</apikeys>
disabledPackageSources
Zidentyfikowano aktualnie wyłączone źródła. Może być pusty. Jeśli określone źródła nie zostaną wyłączone w tej sekcji, zostaną one włączone.
Key | Wartość |
---|---|
(nazwa źródła) | Wartość logiczna wskazująca, czy źródło jest wyłączone. |
Przykład:
<disabledPackageSources>
<add key="Contoso" value="true" />
</disabledPackageSources>
<!-- Empty list -->
<disabledPackageSources />
W powyższym przykładzie źródło Contoso
pakietu jest wyłączone i nie będzie używane do pobierania ani instalowania pakietów.
activePackageSource
(tylko 2.x; przestarzałe w wersji 3.x+)
Identyfikuje aktualnie aktywne źródło lub wskazuje agregację wszystkich źródeł.
Key | Wartość |
---|---|
(nazwa źródła) lub All |
Jeśli klucz jest nazwą źródła, wartość jest ścieżką źródłową lub adresem URL. Jeśli All parametr , należy (Aggregate source) połączyć wszystkie źródła pakietów, które nie są wyłączone w inny sposób. |
Przykład:
<activePackageSource>
<!-- Only one active source-->
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<!-- All non-disabled sources are active -->
<add key="All" value="(Aggregate source)" />
</activePackageSource>
sekcja trustedSigners
Przechowuje zaufanych osób podpisujących używanych do zezwalania na pakiet podczas instalowania lub przywracania. Ta lista nie może być pusta, gdy użytkownik ustawia wartość signatureValidationMode
require
.
Tę sekcję można zaktualizować za nuget trusted-signers
pomocą polecenia .
Schemat:
Zaufany użytkownik podpisujący ma kolekcję certificate
elementów, które zarejestrowały wszystkie certyfikaty identyfikujące danego sygnatariusza. Zaufanym podpisem może być element Author
lub Repository
.
Zaufane repozytorium określa serviceIndex
również dla repozytorium (który musi być prawidłowym https
identyfikatorem URI) i opcjonalnie może określić rozdzielaną średnikami listęowners
, aby ograniczyć jeszcze więcej osób zaufanych z tego konkretnego repozytorium.
Obsługiwane algorytmy skrótu używane do odcisku palca certyfikatu to SHA256
, SHA384
i SHA512
.
Jeśli element certificate
określa allowUntrustedRoot
, że true
dany certyfikat może połączyć łańcuch z niezaufanym katalogiem głównym podczas tworzenia łańcucha certyfikatów w ramach weryfikacji podpisu.
Przykład:
<trustedSigners>
<author name="microsoft">
<certificate fingerprint="3F9001EA83C560D712C24CF213C3D312CB3BFF51EE89435D3430BD06B5D0EECE" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
<certificate fingerprint="AA12DA22A49BCE7D5C1AE64CC1F3D892F150DA76140F210ABD2CBFFCA2C18A27" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
<certificate fingerprint="566A31882BE208BE4422F7CFD66ED09F5D4524A5994F50CCC8B05EC0528C1353" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
</author>
<repository name="nuget.org" serviceIndex="https://api.nuget.org/v3/index.json">
<certificate fingerprint="0E5F38F57DC1BCC806D8494F4F90FBCEDD988B46760709CBEEC6F4219AA6157D" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
<certificate fingerprint="5A2901D6ADA3D18260B9C6DFE2133C95D74B9EEF6AE0E5DC334C8454D1477DF4" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
<certificate fingerprint="1F4B311D9ACC115C8DC8018B5A49E00FCE6DA8E2855F9F014CA6F34570BC482D" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
<owners>microsoft;aspnet;nuget</owners>
</repository>
</trustedSigners>
sekcja fallbackPackageFolders
(3,5+) Zapewnia sposób wstępnego instalowania pakietów, aby nie trzeba było wykonywać żadnej pracy, jeśli pakiet zostanie znaleziony w folderach rezerwowych. Foldery pakietów rezerwowych mają dokładnie taką samą strukturę folderów i plików, jak folder pakietu globalnego: .nupkg jest obecny, a wszystkie pliki są wyodrębniane.
Logika wyszukiwania dla tej konfiguracji to:
Poszukaj w folderze pakietu globalnego, aby sprawdzić, czy pakiet/wersja został już pobrany.
Poszukaj w folderach rezerwowych dopasowania pakietu/wersji.
Jeśli wyszukiwanie zakończy się pomyślnie, pobieranie nie jest konieczne.
Jeśli dopasowanie nie zostanie znalezione, narzędzie NuGet sprawdza źródła plików, a następnie źródła http, a następnie pobiera pakiety.
Key | Wartość |
---|---|
(nazwa folderu rezerwowego) | Ścieżka do folderu rezerwowego. |
Przykład:
<fallbackPackageFolders>
<add key="XYZ Offline Packages" value="C:\somePath\someFolder\"/>
</fallbackPackageFolders>
Sekcja mapowania źródła pakietu
Sekcja packageSourceMapping
zawiera szczegółowe informacje ułatwiające operacje pakietu NuGet określające miejsce pobierania identyfikatora pakietu.
Ta sekcja może być teraz zarządzana tylko ręcznie.
Sekcja packageSourceMapping
może zawierać packageSource
tylko sekcje.
packageSource
Sekcja podrzędna packageSourceMapping
sekcji. Zawiera mapowanie, które pomaga NuGet określić, czy źródło powinno być brane pod uwagę do pobierania pakietu zainteresowań.
Klucz |
---|
Nazwa źródła pakietu zadeklarowanego w packageSources sekcji . Klucz musi dokładnie odpowiadać kluczowi źródła pakietu. |
Sekcje packageSource
w obszarze packageSourceMapping
są jednoznacznie identyfikowane przez element key
.
package
Element package
jest częścią packageSource
sekcji .
Wzorzec |
---|
Wzorzec zdefiniowany przez składnię mapowania źródła pakietu. |
Przykład:
<packageSourceMapping>
<packageSource key="contoso.com">
<package pattern="Contoso.*" />
</packageSource>
</packageSourceMapping>
packageManagement section (sekcja packageManagement)
Ustawia domyślny format zarządzania pakietami , packages.config lub PackageReference. Projekty w stylu zestawu SDK zawsze używają funkcji PackageReference.
Key | Wartość |
---|---|
format | Wartość logiczna wskazująca domyślny format zarządzania pakietami. Jeśli 1 format to PackageReference. Jeśli 0 format to packages.config. |
wyłączone | Wartość logiczna wskazująca, czy wyświetlić monit o wybranie domyślnego formatu pakietu podczas pierwszej instalacji pakietu. False ukrywa monit. |
Przykład:
<packageManagement>
<add key="format" value="1" />
<add key="disabled" value="False" />
</packageManagement>
Napiwek
Gdy <clear />
jest obecny dla danego węzła, NuGet ignoruje wcześniej zdefiniowane wartości konfiguracji dla tego węzła. Dowiedz się więcej o sposobie stosowania ustawień.
Korzystanie ze zmiennych środowiskowych
Aby zastosować ustawienia w czasie wykonywania, można użyć zmiennych środowiskowych w nuget.config
wartościach (NuGet 3.4 lub nowszych).
Jeśli na przykład zmienna HOME
środowiskowa w systemie Windows jest ustawiona na c:\users\username
, wartość %HOME%\NuGetRepository
w pliku konfiguracji jest rozpoznawana jako c:\users\username\NuGetRepository
.
Należy pamiętać, że należy używać zmiennych środowiskowych w stylu systemu Windows (rozpoczyna się i kończy się %) nawet w systemie Mac/Linux. Posiadanie $HOME/NuGetRepository
w pliku konfiguracji nie rozwiąże problemu. W systemie Mac/Linux wartość parametru %HOME%/NuGetRepository
zostanie rozpoznana na /home/myStuff/NuGetRepository
wartość .
Jeśli zmienna środowiskowa nie zostanie znaleziona, program NuGet używa wartości literału z pliku konfiguracji. Na przykład %MY_UNDEFINED_VAR%/NuGetRepository
zostanie rozpoznana jako path/to/current_working_dir/$MY_UNDEFINED_VAR/NuGetRepository
W poniższej tabeli przedstawiono składnię zmiennych środowiska i obsługę separatora ścieżek dla plików NuGet.Config.
NuGet.Config
obsługa zmiennych środowiskowych
Składnia | Separator dir | Nuget.exe systemu Windows | Dotnet.exe systemu Windows | Nuget.exe dla komputerów Mac (w mono) | Dotnet.exe dla komputerów Mac |
---|---|---|---|---|---|
%MY_VAR% |
/ |
Tak | Tak | Tak | Tak |
%MY_VAR% |
\ |
Tak | Tak | Nie. | Nie. |
$MY_VAR |
/ |
Nie. | Nie. | Nie. | Nie. |
$MY_VAR |
\ |
Nie. | Nie. | Nie. | Nie. |
Przykładowy plik konfiguracji
Poniżej znajduje się przykładowy nuget.config
plik ilustrujący szereg ustawień, w tym opcjonalne:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<config>
<!--
Used to specify the default location to expand packages.
See: nuget.exe help install
See: nuget.exe help update
In this example, %PACKAGEHOME% is an environment variable.
This syntax works on Windows/Mac/Linux
-->
<add key="repositoryPath" value="%PACKAGEHOME%/External" />
<!--
Used to specify default source for the push command.
See: nuget.exe help push
-->
<add key="defaultPushSource" value="https://MyRepo/ES/api/v2/package" />
<!-- Proxy settings -->
<add key="http_proxy" value="host" />
<add key="http_proxy.user" value="username" />
<add key="http_proxy.password" value="encrypted_password" />
</config>
<packageRestore>
<!-- Allow NuGet to download missing packages -->
<add key="enabled" value="True" />
<!-- Automatically check for missing packages during build in Visual Studio -->
<add key="automatic" value="True" />
</packageRestore>
<!--
Used to specify the default Sources for list, install and update.
See: nuget.exe help list
See: nuget.exe help install
See: nuget.exe help update
-->
<packageSources>
<clear />
<add key="NuGet official package source" value="https://api.nuget.org/v3/index.json" />
<add key="MyRepo - ES" value="https://MyRepo/ES/nuget" />
</packageSources>
<!-- Used to store credentials -->
<packageSourceCredentials />
<!-- Used to disable package sources -->
<disabledPackageSources />
<!--
Used to specify default API key associated with sources.
See: nuget.exe help setApiKey
See: nuget.exe help push
See: nuget.exe help mirror
-->
<apikeys>
<add key="https://MyRepo/ES/api/v2/package" value="encrypted_api_key" />
</apikeys>
<!--
Used to specify trusted signers to allow during signature verification.
See: nuget.exe help trusted-signers
-->
<trustedSigners>
<author name="microsoft">
<certificate fingerprint="3F9001EA83C560D712C24CF213C3D312CB3BFF51EE89435D3430BD06B5D0EECE" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
<certificate fingerprint="AA12DA22A49BCE7D5C1AE64CC1F3D892F150DA76140F210ABD2CBFFCA2C18A27" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
<certificate fingerprint="566A31882BE208BE4422F7CFD66ED09F5D4524A5994F50CCC8B05EC0528C1353" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
</author>
<repository name="nuget.org" serviceIndex="https://api.nuget.org/v3/index.json">
<certificate fingerprint="0E5F38F57DC1BCC806D8494F4F90FBCEDD988B46760709CBEEC6F4219AA6157D" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
<certificate fingerprint="5A2901D6ADA3D18260B9C6DFE2133C95D74B9EEF6AE0E5DC334C8454D1477DF4" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
<certificate fingerprint="1F4B311D9ACC115C8DC8018B5A49E00FCE6DA8E2855F9F014CA6F34570BC482D" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
<owners>microsoft;aspnet;nuget</owners>
</repository>
</trustedSigners>
</configuration>