Freigeben über


NuGet-Fehler NU1302

Szenario 1

Sie führen den Vorgang "Wiederherstellen" mit einer HTTP-Quelle aus: myHttpSource. NuGet erfordert HTTPS-Quellen. Um eine HTTP-Quelle zu verwenden, müssen Sie "allowInsecureConnections" explizit auf "true" in der NuGet.Config-Datei festlegen. Weitere Informationen finden Sie unter https://aka.ms/nuget-https-everywhere.

Issue

myHttpSource ist eine unsichere HTTP-Quelle. Es wird empfohlen, stattdessen eine HTTPS-Quelle zu verwenden.

Solution

Option 1: Aktualisieren der Quelle für die Verwendung von HTTPS

Aktualisieren Sie nach Möglichkeit die Paketquelle, um https:// anstelle von http://zu verwenden:

<configuration>
  <packageSources>
    <add key="SecureSource" value="https://example.com/nuget/" />
  </packageSources>
</configuration>

Option 2: Unsichere Verbindungen zulassen (falls erforderlich)

Wenn die Quelle HTTP bleiben muss, lassen Sie unsichere Verbindungen explizit zu, indem Sie das AllowInsecureConnections Flag im NuGet.Confighinzufügen:

<configuration>
  <packageSources>
    <add key="InsecureSource" value="http://example.com/nuget/" allowInsecureConnections="true" />
  </packageSources>
</configuration>

Option 3: Sdk Analysis Level konsultieren

Die SdkAnalysisLevel Eigenschaft in Ihrem Projekt kann als temporäre Problemumgehung für die Verwaltung von HTTP-Quellen dienen. Wenn zusätzliche Zeit zum Beheben des HTTP-Fehlers erforderlich ist, können Sie die SdkAnalysisLevel verringern, um Fehler vorübergehend zu unterdrücken. So funktioniert es:

  • Für den WERT der SDK-Analyseebene unter 9.0.100löst die Verwendung von HTTP-Quellen eine Warnung aus (NU1803).
  • Ab SDK Analysis Level 9.0.100 oder höherführen HTTP-Quellen zu einem Fehler (NU1302), es sei denn, AllowInsecureConnections ist explizit aktiviert.

Warning

Das Ändern von SdkAnalysisLevel hat andere Nebenwirkungen. Eine Zusammenfassung des vollständigen Umfangs der betroffenen .NET SDK-Features finden Sie in der SdkAnalysisLevel Übersicht.

Szenario 2

Sie verwenden eine NuGet-Quelle "https://contoso/v3/index.json", die einen Http-Dienstindex-Ressourcenendpunkt enthält: 'http://contoso/v3-flatcontainer/contoso/index.json'. Dies ist unsicher und wird nicht empfohlen. Um HTTP-Ressourcen zuzulassen, müssen Sie "allowInsecureConnections" explizit auf "true" in der NuGet.Config-Datei festlegen. Weitere Informationen finden Sie unter https://aka.ms/nuget-https-everywhere.

Issue

Eine konfigurierte Paketquelle verwendet HTTPS, aber eine ihrer Ressourcen (in der Fehlermeldung angegeben) verwendet HTTP.

NuGet erfordert, dass alle Quellen und ihre Ressourcen HTTPS verwenden. Wenn Sie diese Quelle trotz seiner HTTP-Ressource weiterhin verwenden möchten, müssen Sie das allowInsecureConnections Kennzeichen in Ihrer NuGet.config-Datei auf "true" festlegen.

Weitere Informationen zu Paketquellen und Ressourcenendpunkten finden Sie in der NuGet-Server-API.

Option 1: Aktualisieren der Quelle für die Verwendung von HTTPS

Wechseln Sie nach Möglichkeit zu einer Paketquelle, die nur HTTPS-Ressourcen bereitstellt. Dies ist die empfohlene und sicherste Option.

Option 2: Unsichere Verbindungen zulassen (falls erforderlich)

Wenn Sie die Quelle verwenden müssen, lassen Sie unsichere Verbindungen explizit zu, indem Sie das allowInsecureConnections Flag in der NuGet.Config:

Informationen zum Verwalten der Einstellung in Visual Studio finden Sie unter NuGet-Optionen in Visual Studio

<configuration>
  <packageSources>
    <add key="InsecureSource" value="https://contoso/v3/index.json" allowInsecureConnections="true" />
  </packageSources>
</configuration>