nuget.config
Verweis
Das Verhalten von NuGet wird durch Einstellungen in verschiedenen NuGet.Config
oder nuget.config
Dateien gesteuert, wie in Allgemeine NuGet-Konfigurationen beschrieben.
nuget.config
ist eine XML-Datei mit einem <configuration>
-Knoten der obersten Ebene, in dem die in diesem Thema beschriebenen Abschnittselemente beschrieben werden. Jeder Abschnitt enthält null oder mehr Elemente. Siehe die Beispiele für die Konfigurationsdatei. Bei Einstellungsnamen ist die Groß-/Kleinschreibung zu beachten, und Werte können Umgebungsvariablen verwenden.
Tipp
Fügen Sie eine nuget.config
-Datei im Stammverzeichnis Ihres Projektrepositorys hinzu. Dies gilt als bewährte Methode, da sie die Wiederholbarkeit fördert und sicherstellt, dass verschiedene Benutzer dieselbe NuGet-Konfiguration haben.
Möglicherweise müssen Sie clear
Elemente konfigurieren, um sicherzustellen, dass keine benutzer- oder computerspezifische Konfiguration angewendet wird. Erfahren Sie mehr darüber, wie Einstellungen angewendet werden.
Abschnitt „config“
Enthält verschiedene Konfigurationseinstellungen, die mit dem nuget config
-Befehl festgelegt werden können.
dependencyVersion
und repositoryPath
gelten nur für Projekte, in denen packages.config
verwendet wird. globalPackagesFolder
gilt nur für Projekte, in denen PackageReference-Formate verwendet werden.
Schlüssel | Wert |
---|---|
dependencyVersion (nur packages.config ) |
Der DependencyVersion -Standardwert für „package install“, „restore“ und „update“, wenn der -DependencyVersion -Switch nicht direkt angegeben ist. Dieser Wert wird auch von der Benutzeroberfläche des NuGet-Paket-Managers verwendet. Die Werte lauten Lowest , HighestPatch , HighestMinor , Highest . |
globalPackagesFolder | Der Speicherort des Standardordners für globale Pakete. Der Standardwert lautet %userprofile%\.nuget\packages (Windows) oder ~/.nuget/packages (Mac/Linux). Ein relativer Pfad kann in projektspezifischen nuget.config -Dateien verwendet werden. Diese Einstellung wird von der NUGET_PACKAGES Umgebungsvariable außer Kraft gesetzt, die Vorrang hat. |
repositoryPath (nur packages.config ) |
Die Position anstelle des Standardordners $(Solutiondir)/packages , an der NuGet-Pakete installiert werden sollen. Ein relativer Pfad kann in projektspezifischen nuget.config -Dateien verwendet werden. |
defaultPushSource | Gibt die URL oder den Pfad der Paketquelle an, die bzw. der als Standard verwendet werden sollte, wenn für einen Vorgang keine anderen Paketquellen gefunden werden können. |
http_proxy http_proxy.user http_proxy.password no_proxy | Proxyeinstellungen, die beim Herstellen einer Verbindung zu Paketquellen verwendet werden sollen; http_proxy sollte das Format http://<username>:<password>@<domain> aufweisen. Kennwörter sind verschlüsselt und können nicht manuell hinzugefügt werden. Bei no_proxy ist der Wert eine durch Kommas getrennte Liste mit Domänen, die den Proxy-Server umgehen. Alternativ können Sie für diese Werte die Umgebungsvariablen „http_proxy“ und „no_proxy“ verwenden. Weitere Informationen finden Sie unter NuGet proxy settings (NuGet-Proxyeinstellungen) (skolima.blogspot.com). |
maxHttpRequestsPerSource | Steuert die maximale Anzahl paralleler Anforderungen, die von NuGet an jede Paketquelle für die Paketabhängigkeitsauflösung und Downloads gesendet werden. Der Standardwert dotnet.exe ist Int32.MaxValue , der von HttpClientHandler.MaxConnectionsPerServer der Eigenschaft abgeleitet wird. Diese Einstellung hat keinen Einfluss auf dotnet.exe für Mac OS , da die Drosselungsgrenze auf 16 eingestellt ist, dass der Fehler zu viele offene Dateien vermieden wird. Der Standardwert für NuGet client tools ,das auf .NET Framework läuft, wie Visual Studio und nuget.exe ist 64 auf Windows und 1 auf Mono . Der Standardwert für Packages.config Stilprojekte ist Environment.ProcessorCount . Das Konfigurieren der maxHttpRequestsPerSource Eigenschaft auf einen Wert kleiner als der Standardwert kann sich auf die NuGet-Leistung auswirken. |
signatureValidationMode | Gibt den Überprüfungsmodus an, der zum Überprüfen von Paketsignaturen für die Paketinstallation und Wiederherstellung verwendet wird. Gültige Werte sind accept , require . Wird standardmäßig auf accept festgelegt. |
Beispiel:
<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>
Abschnitt „bindingRedirects“
Konfiguriert, ob NuGet bei der Installation eines Pakets automatische Bindungsumleitungen durchführt.
Schlüssel | Wert |
---|---|
skip | Ein boolescher Wert, der angibt, ob automatische Bindungsumleitungen übersprungen werden sollen. Der Standardwert ist FALSE. |
Beispiel:
<bindingRedirects>
<add key="skip" value="True" />
</bindingRedirects>
Abschnitt „packageRestore“
Steuert die Paketwiederherstellung während der Erstellung von Builds.
Schlüssel | Wert |
---|---|
enabled | Ein boolescher Wert, der angibt, ob NuGet eine automatische Wiederherstellung durchführen kann. Sie können die Umgebungsvariable EnableNuGetPackageRestore auch mit dem Wert True festlegen, statt diesen Schlüssel in der Konfigurationsdatei festzulegen. |
automatic | Ein boolescher Wert, der angibt, ob NuGet während der Erstellung eines Builds eine Überprüfung auf fehlende Pakete durchführen sollte. |
Beispiel:
<packageRestore>
<add key="enabled" value="true" />
<add key="automatic" value="true" />
</packageRestore>
Abschnitt „solution“
Steuert, ob der Ordner packages
einer Projektmappe in der Quellcodeverwaltung enthalten ist. Dieser Abschnitt funktioniert nur in Dateien vom Typ nuget.config
in einem Projektmappenordner.
Schlüssel | Wert |
---|---|
disableSourceControlIntegration | Ein boolescher Wert, der angibt, ob der Paketordner während der Arbeit mit der Quellcodeverwaltung ignoriert werden soll. Der Standardwert ist false. |
Beispiel:
<solution>
<add key="disableSourceControlIntegration" value="true" />
</solution>
Paketquellenabschnitte
packageSources
, packageSourceCredentials
, apikeys
, activePackageSource
, disabledPackageSources
, trustedSigners
und packageSourceMapping
arbeiten alle zusammen, um zu konfigurieren, wie NuGet während Installations-, Wiederherstellungs- und Aktualisierungsvorgängen in Paketrepositorys funktioniert.
Der nuget sources
Befehl wird im Allgemeinen verwendet, um diese Einstellungen zu verwalten, mit Ausnahme von apikeys
, die über den nuget setapikey
Befehl verwaltet werden, und trustedSigners
, die über den nuget trusted-signers
Befehl verwaltet werden.
Beachten Sie, dass die Quell-URL für nuget.org https://api.nuget.org/v3/index.json
ist.
packageSources
Listet alle bekannte Paketquellen auf. Die Reihenfolge wird bei Wiederherstellungsvorgängen und mit jedem Projekt mit dem PackageReference-Format ignoriert. NuGet respektiert die Reihenfolge der Quellen für Installations- und Aktualisierungsvorgänge mit Projekten, die packages.config
verwenden.
XML-Attribut | Zweck |
---|---|
Schlüssel | (Der Name, der der Paketquelle zuzuweisen ist) |
Wert | Der Pfad oder die URL der Paketquelle. |
protocolVersion | Die zu verwendende NuGet-Serverprotokollversion. Die aktuelle Version ist 3. Standardmäßig wird version 2 verwendet, wenn keine Paketquell-URL mit .json angezeigt wird (z. B. https://api.nuget.org/v3/index.json). Unterstützt in NuGet 3.0+. Weitere Informationen zum Protokoll der Version 3 finden Sie unter NuGet Server-API . |
allowInsecureConnections | Wenn false oder nicht angegeben, wird NuGet eine Warnung ausgeben, wenn die Quelle http statt https verwendet. Wenn Sie sicher sind, dass die Kommunikation mit dieser Quelle niemals durch Angriffe gefährdet ist, können Sie den Wert auf true setzen, um die Warnung zu unterdrücken. Unterstützt in NuGet 6.8+. |
disableTLSCertificateValidation | Mit dieser Konfigurationseigenschaft können Sie die SSL/TLS-Zertifikatüberprüfung für Ihren HTTPS-Server deaktivieren. Wenn diese Option auf „true“ gesetzt ist, ignoriert der Server alle Fehler im Zusammenhang mit SSL/TLS-Zertifikaten, z. B. abgelaufene oder selbstsignierte Zertifikate, und stellt die Verbindung ohne Validierung her. Unterstützt in NuGet 6.11+. |
Beispiel:
<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>
Hinweis
Nutzen Sie Paketquellen, denen Sie vertrauen.
Hinweis
Wenn Sie die CLI verwenden, können Sie eine RestoreSources
MSBuild-Eigenschaft oder --source
(.NET CLI) | -Source
(NuGet CLI) ausdrücken, um die in der NuGet.config definierte Eigenschaft <packageSources>
außer Kraft zu setzen.
Tipp
Wenn <clear />
für einen bestimmten Knoten vorhanden ist, ignoriert NuGet die zuvor definierten Konfigurationswerte für diesen Knoten. Erfahren Sie mehr darüber, wie Einstellungen angewendet werden.
auditSources
Listet alle bekannten Überwachungsquellen auf, die nuGet-Überwachung während der Wiederherstellung verwendet.
Wenn keine Überwachungsquellen bereitgestellt werden, verwendet die Wiederherstellung Paketquellen und unterdrückt NU1905.
auditSources
wurde zu NuGet 6.12 hinzugefügt.
Überwachungsquellen unterstützen dieselben Attribute wie packageSources
(protocolVersion
, allowInsecureConnections
). Quellen, die eine Authentifizierung erfordern, werden mit packageSourceCredentials
konfiguriert, auf die gleiche Weise wie packageSources
.
Beispiel:
<auditSources>
<clear />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
</auditSources>
packageSourceCredentials
Speichert Benutzernamen und Kennwörter für Quellen, die in der Regel mit den -username
- und -password
-Switches mit nuget sources
angegeben werden. Kennwörter werden standardmäßig verschlüsselt, sofern die Option -storepasswordincleartext
nicht ebenfalls verwendet wird.
Optional können gültige Authentifizierungstypen mit dem -validauthenticationtypes
ERSTERWERT angegeben werden.
Schlüssel | Wert |
---|---|
username | Der Benutzername für die Quelle in Nur-Text. Hinweis: Umgebungsvariablen können zur Verbesserung der Sicherheit verwendet werden. |
Kennwort | Das verschlüsselte Kennwort für die Quelle. Verschlüsselte Kennwörter werden nur unter Windows unterstützt und können nur entschlüsselt werden, wenn sie auf demselben Computer und über denselben Benutzer wie die ursprüngliche Verschlüsselung verwendet werden. |
cleartextpassword | Das unverschlüsselte Kennwort für die Quelle. Hinweis: Umgebungsvariablen können zur Verbesserung der Sicherheit verwendet werden. |
validauthenticationtypes | Durch Trennzeichen getrennte Liste mit gültigen Authentifizierungstypen für diese Quelle. Legen Sie diese Option auf basic fest, wenn der Server NTLM oder eine Aushandlung ankündigt und Ihre Anmeldedaten über den Basismechanismus gesendet werden müssen, z. B. bei Verwendung eines persönlichen Zugriffstokens (PAT) mit einer lokalen Azure DevOps Server-Instanz. Andere gültige Werte sind negotiate , kerberos , ntlm und digest , aber diese Werte sind wahrscheinlich nicht sinnvoll. |
Warnung
Vom Speichern von Passwörtern in Klartext wird dringend abgeraten. Bitte beachten Sie, dass verschlüsselte Passwörter nur in Windows unterstützt werden. Außerde, können sie nur entschlüsselt werden, wenn sie auf demselben Computer und vom selben Benutzer verwendet werden, der sie ursprünglich verschlüsselt hat. Weitere Informationen zum sicheren Verwalten von Anmeldedaten finden Sie in den bewährten Sicherheitsmethoden für die Nutzung von Paketen aus privaten Feeds.
Tipp
Wenn ein nicht verschlüsseltes Passwort für password
übergeben wird, erscheint die Fehlermeldung Der Parameter ist falsch.
Beispiel:
In der Konfigurationsdatei enthält das <packageSourceCredentials>
-Element für jeden anwendbaren Quellennamen untergeordnete Knoten (Leerzeichen im Namen werden durch _x0020_
ersetzt). Das heißt, die Konfigurationsdatei enthält für Quellen mit dem Namen „Contoso“ und „Testquelle“ bei der Verwendung verschlüsselter Kennwörter Folgendes:
<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>
Darüber hinaus können gültige Authentifizierungsmethoden bereitgestellt werden.
<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>
Bei Verwendung unverschlüsselter Passwörter, die in einer Umgebungsvariable gespeichert sind:
<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>
Bei der Verwendung unverschlüsselter Kennwörter:
Warnung
Vom Speichern von Passwörtern in Klartext wird dringend abgeraten.
<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
Speichert Schlüssel für Quellen, die die API-Schlüsselauthentifizierung verwenden, wie diese mit dem nuget setapikey
-Befehl festgelegt wurden.
Schlüssel | Wert |
---|---|
(Quell-URL) | Der verschlüsselte API-Schlüssel. |
Beispiel:
<apikeys>
<add key="https://MyRepo/ES/api/v2/package" value="encrypted_api_key" />
</apikeys>
disabledPackageSources
Identifizierte, derzeit deaktivierte Quellen. Kann leer sein. Sofern in diesem Abschnitt keine bestimmten Quellen deaktiviert sind, sind sie aktiviert.
Schlüssel | Wert |
---|---|
(Name der Quelle) | Ein boolescher Wert, der angibt, ob die Quelle deaktiviert ist. |
Beispiel:
<disabledPackageSources>
<add key="Contoso" value="true" />
</disabledPackageSources>
<!-- Empty list -->
<disabledPackageSources />
Im obigen Beispiel ist die Paketquelle Contoso
deaktiviert und wird nicht zum Herunterladen oder Installieren von Paketen verwendet.
activePackageSource
(nur 2.x; Unterstützung in 3.x und höher eingestellt)
Identifiziert die derzeit aktive Quelle oder gibt das Aggregat aller Quellen an.
Schlüssel | Wert |
---|---|
(Name der Quelle) oder All |
Wenn es sich bei dem Schlüssel um den Namen einer Quelle handelt, ist der Wert der Quellpfad oder die URL. Wenn All festgelegt ist, sollte der Wert (Aggregate source) lauten, damit alle Paketquellen kombiniert werden können, die nicht auf andere Weise deaktiviert sind. |
Beispiel:
<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>
Abschnitt trustedSigners
Speichert vertrauenswürdige Signer*in, die zum Zulassen des Pakets beim Installieren oder Wiederherstellen verwendet werden. Diese Liste kann nicht leer sein, wenn der Benutzer signatureValidationMode
auf require
setzt.
Dieser Abschnitt kann mit dem nuget trusted-signers
Befehl aktualisiert werden.
Schema:
Ein vertrauenswürdiger Signer*in verfügt über eine Sammlung von certificate
Elementen, die alle Zertifikate auflisten, die einen bestimmten Signer*in identifizieren. Ein vertrauenswürdiger Signer*in kann entweder ein Author
oder ein Repository
sein.
Ein vertrauenswürdiges Repository gibt auch das serviceIndex
Repository an (das ein gültiger https
URI sein muss) und kann optional eine durch Semikolons getrennte Liste angeben, um owners
noch mehr einzuschränken, wer von diesem bestimmten Repository vertrauenswürdig ist.
Die unterstützten Hashalgorithmen, die für einen Zertifikatfingerabdruck verwendet werden, sind SHA256
, SHA384
und SHA512
.
Wenn ein certificate
angibt, dass allowUntrustedRoot
als true
das angegebene Zertifikat beim Aufbau der Zertifikatskette als Teil der Signaturprüfung mit einer nicht vertrauenswürdigen Wurzel verknüpft werden darf.
Beispiel:
<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>
FallbackPackageFolders-Abschnitt
(3,5+) Bietet eine Möglichkeit zum Vorabinstallieren von Paketen, damit keine Arbeit ausgeführt werden muss, wenn das Paket in den Fallbackordnern gefunden wird. Fallbackpaketordner haben genau dieselbe Ordner- und Dateistruktur wie der globale Paketordner: .nupkg ist vorhanden und alle Dateien werden extrahiert.
Die VERWEIS Logik für diese Konfiguration lautet:
Suchen Sie im globalen Paketordner, um festzustellen, ob das Paket/die Version bereits heruntergeladen wurde.
Suchen Sie in den Fallbackordnern nach einer Paket-/Versions-Zuordnung.
Wenn ein VERWEIS erfolgreich ist, ist kein Download erforderlich.
Wenn eine Zuordnung nicht gefunden wird, überprüft NuGet Dateiquellen und dann HTTP-Quellen und lädt dann die Pakete herunter.
Schlüssel | Wert |
---|---|
(Name des Fallbackordners) | Pfad zum Fallbackordner. |
Beispiel:
<fallbackPackageFolders>
<add key="XYZ Offline Packages" value="C:\somePath\someFolder\"/>
</fallbackPackageFolders>
Paketquellenzuordnung Abschnitt
Der packageSourceMapping
Abschnitt enthält die Details, die den NuGet-Paketvorgängen helfen, zu bestimmen, von wo eine Paket-ID heruntergeladen werden soll.
Dieser Abschnitt kann derzeit nur manuell verwaltet werden.
Ein packageSourceMapping
Abschnitt kann nur packageSource
Abschnitte enthalten.
packageSource
Ein Unterabschnitt des packageSourceMapping
Abschnitts. Enthält eine Zuordnung, mit der NuGet bestimmen kann, ob die Quelle zum Herunterladen des interessanten Pakets berücksichtigt werden soll.
Schlüssel |
---|
Name einer im packageSources Abschnitt deklarierten Paketquelle. Der Schlüssel muss exakt mit dem Schlüssel der Paketquelle übereinstimmen. |
Die packageSource
Abschnitte unter packageSourceMapping
werden durch die key
eindeutig bezeichnet.
Paket
Der package
Abschnitt ist Teil des packageSource
Abschnitts.
Muster |
---|
Ein Muster, das durch die Syntax der Paketquellzuordnung definiert ist. |
Beispiel:
<packageSourceMapping>
<packageSource key="contoso.com">
<package pattern="Contoso.*" />
</packageSource>
</packageSourceMapping>
PackageManagement-Abschnitt
Legt das Standardmäßige Paketverwaltungsformat fest, entweder packages.config oder PackageReference. SDK-Stilprojekte verwenden immer PackageReference.
Schlüssel | Wert |
---|---|
format | Ein boole’scher Wert, der das Standardpaketverwaltungsformat angibt. Wenn 1 , ist das Format PackageReference. Wenn 0 , ist das Format packages.config. |
deaktiviert | Ein boole’scher Wert, der angibt, ob die Eingabeaufforderung zum Auswählen eines Standardpaketformats bei der ersten Paketinstallation angezeigt werden soll. False blendet die Eingabeaufforderung aus. |
Beispiel:
<packageManagement>
<add key="format" value="1" />
<add key="disabled" value="False" />
</packageManagement>
Tipp
Wenn <clear />
für einen bestimmten Knoten vorhanden ist, ignoriert NuGet die zuvor definierten Konfigurationswerte für diesen Knoten. Erfahren Sie mehr darüber, wie Einstellungen angewendet werden.
Verwenden von Umgebungsvariablen
Sie können Umgebungsvariablen in nuget.config
-Werten (NuGet 3.4 und höher) verwenden, um Einstellungen zur Laufzeit anzuwenden.
Wenn die Umgebungsvariable HOME
unter Windows beispielsweise auf c:\users\username
festgelegt ist, wird der Wert von %HOME%\NuGetRepository
in der Konfigurationsdatei in c:\users\username\NuGetRepository
aufgelöst.
Beachten Sie, dass Sie Umgebungsvariablen im Windows-Stil verwenden müssen (beginnt und endet mit %) auch auf Mac/Linux. Das Vorhandensein von $HOME/NuGetRepository
in einer Konfigurationsdatei wird nicht aufgelöst. Auf Mac/Linux wird der Wert der %HOME%/NuGetRepository
aufgelöst in /home/myStuff/NuGetRepository
.
Wenn eine Umgebungsvariable nicht gefunden werden kann, verwendet NuGet den Literalwert aus der Konfigurationsdatei. Beispiel: %MY_UNDEFINED_VAR%/NuGetRepository
wird als path/to/current_working_dir/$MY_UNDEFINED_VAR/NuGetRepository
aufgelöst
Die folgende Tabelle zeigt die Syntax der Umgebungsvariablen und Pfadtrennzeichenunterstützung für NuGet.Config-Dateien.
NuGet.Config
Unterstützung von Umgebungsvariablen
Syntax | Dir-Trennlinie | Windows nuget.exe | Windows dotnet.exe | Mac nuget.exe (in Mono) | Mac dotnet.exe |
---|---|---|---|---|---|
%MY_VAR% |
/ |
Ja | Ja | Ja | Ja |
%MY_VAR% |
\ |
Ja | Ja | Nr. | Nr. |
$MY_VAR |
/ |
Nr. | Nr. | Nr. | Nr. |
$MY_VAR |
\ |
Nr. | Nr. | Nr. | No |
Beispielkonfigurationsdatei
Nachfolgend finden Sie eine nuget.config
Beispieldatei, die eine Reihe von Einstellungen, darunter auch optionale, veranschaulicht:
<?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>