Referenční dokumentace NuGet. confignuget.config reference

Chování NuGet se řídí nastavením v různých NuGet.Config nebo nuget.config souborů, jak je popsáno v tématu běžné konfigurace NuGet.NuGet behavior is controlled by settings in different NuGet.Config or nuget.config files as described in Common NuGet configurations.

nuget.config je soubor XML, který obsahuje uzel <configuration> nejvyšší úrovně, který pak obsahuje prvky oddílu popsané v tomto tématu.nuget.config is an XML file containing a top-level <configuration> node, which then contains the section elements described in this topic. Každý oddíl obsahuje nula nebo více položek.Each section contains zero or more items. Podívejte se na příklady konfiguračního souboru.See the examples config file. U názvů nastavení se nerozlišují malá a velká písmena a hodnoty můžou používat proměnné prostředí.Setting names are case-insensitive, and values can use environment variables.

konfigurační oddílconfig section

Obsahuje různá nastavení konfigurace, která se dají nastavit pomocí příkazunuget config.Contains miscellaneous configuration settings, which can be set using the nuget config command.

dependencyVersion a repositoryPath se vztahují pouze na projekty používající packages.config.dependencyVersion and repositoryPath apply only to projects using packages.config. globalPackagesFolder platí jenom pro projekty, které používají formát PackageReference.globalPackagesFolder applies only to projects using the PackageReference format.

KeyKey HodnotaValue
dependencyVersion (pouzepackages.config)dependencyVersion (packages.config only) Výchozí hodnota DependencyVersion pro instalaci, obnovení a aktualizaci balíčku, když -DependencyVersion přepínač není zadán přímo.The default DependencyVersion value for package install, restore, and update, when the -DependencyVersion switch is not specified directly. Tuto hodnotu používá také uživatelské rozhraní Správce balíčků NuGet.This value is also used by the NuGet Package Manager UI. Hodnoty jsou Lowest, HighestPatch, HighestMinor``Highest.Values are Lowest, HighestPatch, HighestMinor, Highest.
globalPackagesFolder (projekty používající pouze PackageReference)globalPackagesFolder (projects using PackageReference only) Umístění výchozí složky globálních balíčků.The location of the default global packages folder. Výchozí hodnota je %userprofile%\.nuget\packages (Windows) nebo ~/.nuget/packages (Mac/Linux).The default is %userprofile%\.nuget\packages (Windows) or ~/.nuget/packages (Mac/Linux). Relativní cestu lze použít v souborech nuget.config specifických pro projekt.A relative path can be used in project-specific nuget.config files. Toto nastavení je přepsáno proměnnou prostředí NUGET_PACKAGES, která má přednost.This setting is overridden by the NUGET_PACKAGES environment variable, which takes precedence.
repositoryPath (pouzepackages.config)repositoryPath (packages.config only) Místo, kam se mají instalovat balíčky NuGet místo výchozí složky $(Solutiondir)/packagesThe location in which to install NuGet packages instead of the default $(Solutiondir)/packages folder. Relativní cestu lze použít v souborech nuget.config specifických pro projekt.A relative path can be used in project-specific nuget.config files. Toto nastavení je přepsáno proměnnou prostředí NUGET_PACKAGES, která má přednost.This setting is overridden by the NUGET_PACKAGES environment variable, which takes precedence.
defaultPushSourcedefaultPushSource Určuje adresu URL nebo cestu ke zdroji balíčku, který má být použit jako výchozí, pokud pro operaci nebyly nalezeny žádné jiné zdroje balíčků.Identifies the URL or path of the package source that should be used as the default if no other package sources are found for an operation.
http_proxy http_proxy. uživatelské http_proxy. Password no_proxyhttp_proxy http_proxy.user http_proxy.password no_proxy Nastavení proxy serveru, které se má použít při připojování ke zdrojům balíčků; http_proxy by měl být ve formátu http://<username>:<password>@<domain>.Proxy settings to use when connecting to package sources; http_proxy should be in the format http://<username>:<password>@<domain>. Hesla jsou šifrovaná a nelze je přidat ručně.Passwords are encrypted and cannot be added manually. V případě no_proxyje tato hodnota čárkami oddělený seznam domén, které proxy server vynechá.For no_proxy, the value is a comma-separated list of domains the bypass the proxy server. Pro tyto hodnoty můžete alternativně použít proměnné prostředí http_proxy a no_proxy.You can alternately use the http_proxy and no_proxy environment variables for those values. Další podrobnosti najdete v tématu nastavení proxy NuGet (skolima.blogspot.com).For additional details, see NuGet proxy settings (skolima.blogspot.com).
signatureValidationModesignatureValidationMode Určuje režim ověřování, který se používá k ověření signatur balíčků pro instalaci balíčku a obnovení.Specifies the validation mode used to verify package signatures for package install, and restore. Hodnoty jsou accept``require.Values are accept, require. Výchozí hodnota je accept.Defaults to accept.

Příklad:Example:

<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" />
</config>

oddíl bindingRedirectsbindingRedirects section

Nakonfiguruje, jestli NuGet při instalaci balíčku automaticky přesměrovává vazby.Configures whether NuGet does automatic binding redirects when a package is installed.

KeyKey HodnotaValue
Přeskočitskip Logická hodnota označující, zda se má přeskočit automatický přesměrování vazbyA Boolean indicating whether to skip automatic binding redirects. Výchozí hodnota je false.The default is false.

Příklad:Example:

<bindingRedirects>
    <add key="skip" value="True" />
</bindingRedirects>

oddíl packageRestorepackageRestore section

Řídí obnovení balíčku během sestavení.Controls package restore during builds.

KeyKey HodnotaValue
povolenéenabled Logická hodnota označující, zda může NuGet provádět automatické obnovení.A Boolean indicating whether NuGet can perform automatic restore. Můžete také nastavit proměnnou prostředí EnableNuGetPackageRestore s hodnotou True namísto nastavení tohoto klíče v konfiguračním souboru.You can also set the EnableNuGetPackageRestore environment variable with a value of True instead of setting this key in the config file.
automatickáautomatic Logická hodnota označující, zda má NuGet při sestavení kontrolovat chybějící balíčky.A Boolean indicating whether NuGet should check for missing packages during a build.

Příklad:Example:

<packageRestore>
    <add key="enabled" value="true" />
    <add key="automatic" value="true" />
</packageRestore>

oddíl řešenísolution section

Určuje, zda je packages složka řešení zahrnutá ve správě zdrojového kódu.Controls whether the packages folder of a solution is included in source control. Tato část funguje pouze v nuget.config soubory ve složce řešení.This section works only in nuget.config files in a solution folder.

KeyKey HodnotaValue
disableSourceControlIntegrationdisableSourceControlIntegration Logická hodnota označující, zda se má při práci se správou zdrojových kódů ignorovat složku balíčků.A Boolean indicating whether to ignore the packages folder when working with source control. Výchozí hodnota je False.The default value is false.

Příklad:Example:

<solution>
    <add key="disableSourceControlIntegration" value="true" />
</solution>

Zdrojové oddíly balíčkuPackage source sections

packageSources, packageSourceCredentials, apikeys, activePackageSource, disabledPackageSources a trustedSigners společně nakonfigurují, jak NuGet funguje s úložištěmi balíčků během operací instalace, obnovení a aktualizace.The packageSources, packageSourceCredentials, apikeys, activePackageSource, disabledPackageSources and trustedSigners all work together to configure how NuGet works with package repositories during install, restore, and update operations.

Příkaznuget sources se obecně používá ke správě těchto nastavení, s výjimkou apikeys, která je spravována pomocí příkazunuget setapikey, a trustedSigners, které je spravováno pomocí příkazunuget trusted-signers.The nuget sources command is generally used to manage these settings, except for apikeys which is managed using the nuget setapikey command, and trustedSigners which is managed using the nuget trusted-signers command.

Všimněte si, že zdrojová adresa URL pro nuget.org je https://api.nuget.org/v3/index.json.Note that the source URL for nuget.org is https://api.nuget.org/v3/index.json.

packageSourcespackageSources

Zobrazí seznam všech známých zdrojů balíčků.Lists all known package sources. Pořadí se ignoruje během operací obnovení a s jakýmkoli projektem pomocí formátu PackageReference.The order is ignored during restore operations and with any project using the PackageReference format. NuGet respektuje pořadí zdrojů pro operace instalace a aktualizace s projekty pomocí packages.config.NuGet respects the order of sources for install and update operations with projects using packages.config.

KeyKey HodnotaValue
(název, který se má přiřadit ke zdroji balíčku)(name to assign to the package source) Cesta nebo adresa URL zdroje balíčku.The path or URL of the package source.

Příklad:Example:

<packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="Contoso" value="https://contoso.com/packages/" />
    <add key="Test Source" value="c:\packages" />
</packageSources>

packageSourceCredentialspackageSourceCredentials

Ukládá uživatelská jména a hesla pro zdroje, obvykle zadané pomocí -username a -password přepínačů nuget sources.Stores usernames and passwords for sources, typically specified with the -username and -password switches with nuget sources. Pokud není použita možnost -storepasswordincleartext, jsou hesla ve výchozím nastavení zašifrována.Passwords are encrypted by default unless the -storepasswordincleartext option is also used.

KeyKey HodnotaValue
userNameusername Uživatelské jméno pro zdroj v prostém textu.The user name for the source in plain text.
heslopassword Šifrované heslo pro zdrojThe encrypted password for the source.
cleartextpasswordcleartextpassword Nešifrované heslo zdrojeThe unencrypted password for the source.

Příklad:Example:

V konfiguračním souboru <packageSourceCredentials> element obsahuje podřízené uzly pro každý příslušný název zdroje (mezery v názvu jsou nahrazeny _x0020_).In the config file, the <packageSourceCredentials> element contains child nodes for each applicable source name (spaces in the name are replaced with _x0020_). To znamená, že pro zdroje s názvem "contoso" a "zdroj testu" obsahuje konfigurační soubor při použití šifrovaných hesel následující:That is, for sources named "Contoso" and "Test Source", the config file contains the following when using encrypted passwords:

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

Při použití nezašifrovaných hesel:When using unencrypted passwords:

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

apikeysapikeys

Ukládá klíče pro zdroje, které používají ověřování pomocí klíče rozhraní API, jak je nastaveno pomocí příkazunuget setapikey.Stores keys for sources that use API key authentication, as set with the nuget setapikey command.

KeyKey HodnotaValue
(zdrojová adresa URL)(source URL) Šifrovaný klíč rozhraní API.The encrypted API key.

Příklad:Example:

<apikeys>
    <add key="https://MyRepo/ES/api/v2/package" value="encrypted_api_key" />
</apikeys>

disabledPackageSourcesdisabledPackageSources

Identifikovány aktuálně zakázané zdroje.Identified currently disabled sources. Může být prázdné.May be empty.

KeyKey HodnotaValue
(název zdroje)(name of source) Logická hodnota označující, zda je zdroj zakázán.A Boolean indicating whether the source is disabled.

Příklad:Example:

<disabledPackageSources>
    <add key="Contoso" value="true" />
</disabledPackageSources>

<!-- Empty list -->
<disabledPackageSources />

activePackageSourceactivePackageSource

(pouze 2. x; zastaralé v 3. x +)(2.x only; deprecated in 3.x+)

Identifikuje aktuálně aktivní zdroj nebo označuje agregaci všech zdrojů.Identifies to the currently active source or indicates the aggregate of all sources.

KeyKey HodnotaValue
(název zdroje) nebo All(name of source) or All Pokud je klíč názvem zdroje, hodnota je zdrojová cesta nebo adresa URL.If key is the name of a source, the value is the source path or URL. Pokud All, musí být hodnota (Aggregate source) pro kombinování všech zdrojů balíčků, které nejsou jinak zakázány.If All, value should be (Aggregate source) to combine all package sources that are not otherwise disabled.

Příklad:Example:

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

oddíl trustedSignerstrustedSigners section

Ukládá důvěryhodné podepisující osoby používané k povolení balíčku při instalaci nebo obnovení.Stores trusted signers used to allow package while installing or restoring. Tento seznam nemůže být prázdný, pokud uživatel nastaví signatureValidationMode k require.This list cannot be empty when the user sets signatureValidationMode to require.

Tuto část lze aktualizovat pomocí příkazunuget trusted-signers.This section can be updated with the nuget trusted-signers command.

Schéma:Schema:

Důvěryhodný podpis má kolekci certificatech položek, které zařadí všechny certifikáty identifikující daného podepisujícího.A trusted signer has a collection of certificate items that enlist all the certificates that identify a given signer. Důvěryhodný podpis může být buď Author, nebo Repository.A trusted signer can be either an Author or a Repository.

Důvěryhodné úložiště také určuje serviceIndex pro úložiště (musí to být platný identifikátor URI https) a může volitelně zadat středníkem oddělený seznam owners, aby bylo možné ještě více omezit, kdo je z tohoto konkrétního úložiště důvěryhodný.A trusted repository also specifies the serviceIndex for the repository (which has to be a valid https uri) and can optionally specify a semi-colon delimited list of owners to restrict even more who is trusted from that specific repository.

Podporované algoritmy hash používané pro otisk certifikátu jsou SHA256, SHA384 a SHA512.The supported hash algorithms used for a certificate fingerprint are SHA256, SHA384 and SHA512.

Pokud certificate specifikuje allowUntrustedRoot jako true daný certifikát může při vytváření řetězu certifikátů v rámci ověřování podpisů řetězit nedůvěryhodnému kořenovému adresáři.If a certificate specifies allowUntrustedRoot as true the given certificate is allowed to chain to an untrusted root while building the certificate chain as part of the signature verification.

Příklad:Example:

<trustedSigners>
    <author name="microsoft">
        <certificate fingerprint="3F9001EA83C560D712C24CF213C3D312CB3BFF51EE89435D3430BD06B5D0EECE" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
    </author>
    <repository name="nuget.org" serviceIndex="https://api.nuget.org/v3/index.json">
        <certificate fingerprint="0E5F38F57DC1BCC806D8494F4F90FBCEDD988B46760709CBEEC6F4219AA6157D" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
        <owners>microsoft;aspnet;nuget</owners>
    </repository>
</trustedSigners>

oddíl fallbackPackageFoldersfallbackPackageFolders section

(3.5 +) Poskytuje způsob, jak předinstalovat balíčky, aby nedošlo k tomu, že by se v případě nalezení balíčku v záložních složkách prováděla žádná práce.(3.5+) Provides a way to preinstall packages so that no work needs to be done if the package is found in the fallback folders. Záložní složky balíčku mají stejnou složku a strukturu souborů jako globální složka balíčku: . nupkg je k dispozici a jsou extrahovány všechny soubory.Fallback package folders have the exact same folder and file structure as the global package folder: .nupkg is present, and all files are extracted.

Logika vyhledávání pro tuto konfiguraci je:The lookup logic for this configuration is:

  • Pokud chcete zjistit, jestli je balíček/verze už stažený, vyhledejte globální složku balíčku.Look in global package folder to see if the package/version is already downloaded.

  • Vyhledejte shodu balíčku/verze v záložních složkách.Look in the fallback folders for a package/version match.

Pokud je vyhledávání úspěšné, není nutné stahovat žádné soubory.If either lookup is successful, then no download is necessary.

Pokud se shoda nenajde, vyhledá NuGet zdroje souborů, potom zdroje http a pak stáhne balíčky.If a match is not found, then NuGet checks file sources, and then http sources, and then it downloads the packages.

KeyKey HodnotaValue
(název záložní složky)(name of fallback folder) Cesta k záložní složcePath to fallback folder.

Příklad:Example:

<fallbackPackageFolders>
   <add key="XYZ Offline Packages" value="C:\somePath\someFolder\"/>
</fallbackPackageFolders>

oddíl packageManagementpackageManagement section

Nastaví výchozí formát správy balíčků, buď Packages. config , nebo PackageReference.Sets the default package management format, either packages.config or PackageReference. Projekty ve stylu sady SDK vždycky používají PackageReference.SDK-style projects always use PackageReference.

KeyKey HodnotaValue
formátformat Logická hodnota označující výchozí formát správy balíčků.A Boolean indicating the default package management format. Pokud je 1, formát PackageReference.If 1, format is PackageReference. Pokud 0, formát je Packages. config.If 0, format is packages.config.
zakázanýdisabled Logická hodnota označující, zda se při první instalaci balíčku má zobrazit výzva k výběru výchozího formátu balíčku.A Boolean indicating whether to show the prompt to select a default package format on first package install. False skryje výzvu.False hides the prompt.

Příklad:Example:

<packageManagement>
   <add key="format" value="1" />
   <add key="disabled" value="False" />
</packageManagement>

Použití proměnných prostředíUsing environment variables

Pomocí proměnných prostředí v nuget.configch hodnotách (NuGet 3.4 +) můžete použít nastavení v době běhu.You can use environment variables in nuget.config values (NuGet 3.4+) to apply settings at run time.

Pokud je například proměnná prostředí HOME v systému Windows nastavena na hodnotu c:\users\username, hodnota %HOME%\NuGetRepository v konfiguračním souboru se přeloží na c:\users\username\NuGetRepository.For example, if the HOME environment variable on Windows is set to c:\users\username, then the value of %HOME%\NuGetRepository in the configuration file resolves to c:\users\username\NuGetRepository.

Podobně, pokud je HOME v systému Mac/Linux nastaveno na /home/myStuff, $HOME/NuGetRepository v konfiguračním souboru se přeloží na /home/myStuff/NuGetRepository.Similarly, if HOME on Mac/Linux is set to /home/myStuff, then $HOME/NuGetRepository in the configuration file resolves to /home/myStuff/NuGetRepository.

Pokud se proměnná prostředí nenajde, NuGet použije hodnotu literálu z konfiguračního souboru.If an environment variable is not found, NuGet uses the literal value from the configuration file.

Ukázkový konfigurační souborExample config file

Níže je příklad nuget.config souboru, který ilustruje několik nastavení:Below is an example nuget.config file that illustrates a number of settings:

<?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. On Mac/Linux,
            use $PACKAGE_HOME/External as the value.
        -->
        <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>
        <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" />
        </author>
        <repository name="nuget.org" serviceIndex="https://api.nuget.org/v3/index.json">
            <certificate fingerprint="0E5F38F57DC1BCC806D8494F4F90FBCEDD988B46760709CBEEC6F4219AA6157D" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
            <owners>microsoft;aspnet;nuget</owners>
        </repository>
    </trustedSigners>
</configuration>