NuGet-fel NU1302

Scenario 1

Du kör återställningsåtgärden med en HTTP-källa: myHttpSource. NuGet kräver HTTPS-källor. Om du vill använda en HTTP-källa måste du uttryckligen ange "allowInsecureConnections" till true i NuGet.Config-filen. Mer information finns i https://aka.ms/nuget-https-everywhere.

Issue

myHttpSource är en osäker HTTP-källa. Vi rekommenderar att du använder en HTTPS-källa i stället.

Solution

Alternativ 1: Uppdatera källan så att den använder HTTPS

Om möjligt uppdaterar du paketkällan så att den använder https:// i stället för http://:

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

Alternativ 2: Tillåt osäkra anslutningar (om det behövs)

Om källan måste förbli HTTP tillåter du uttryckligen osäkra anslutningar genom att lägga till flaggan AllowInsecureConnections i NuGet.Config:

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

Alternativ 3: Läs SDK-analysnivå

Egenskapen SdkAnalysisLevel i projektet kan fungera som en tillfällig lösning för hantering av HTTP-källor. Om det krävs ytterligare tid för att lösa HTTP-felet kan du sänka SdkAnalysisLevel för att tillfälligt förhindra fel. Så här fungerar det:

  • För SDK-analysnivåvärde under 9.0.100utlöser http-källor en varning (NU1803).
  • Från och med SDK-analysnivå 9.0.100 eller högreresulterar HTTP-källor i ett fel (NU1302) om inte AllowInsecureConnections uttryckligen är aktiverat.

Warning

Att ändra SdkAnalysisLevel har andra biverkningar. SdkAnalysisLevel Se en sammanfattning av det fullständiga omfånget för .NET SDK-funktioner som påverkas.

Scenario 2

Du använder en NuGet-källahttps://contoso/v3/index.json som innehåller en resursslutpunkt för HTTP-tjänstindex: 'http://contoso/v3-flatcontainer/contoso/index.json'. Detta är osäkert och rekommenderas inte. Om du vill tillåta HTTP-resurser måste du uttryckligen ange "allowInsecureConnections" till true i NuGet.Config-filen. Mer information finns på https://aka.ms/nuget-https-everywhere.

Issue

En konfigurerad paketkälla använder HTTPS, men en av dess resurser (anges i felmeddelandet) använder HTTP.

NuGet kräver att alla källor och deras resurser använder HTTPS. Om du vill fortsätta använda den här källan trots dess HTTP-resurs måste du ange allowInsecureConnections flaggan till true i din NuGet.config-fil.

Mer information om paketkällor och resursslutpunkter finns i NuGet Server-API:et.

Alternativ 1: Uppdatera källan så att den använder HTTPS

Växla när det är möjligt till en paketkälla som endast tillhandahåller HTTPS-resurser. Detta är det rekommenderade och säkraste alternativet.

Alternativ 2: Tillåt osäkra anslutningar (om det behövs)

Om du måste använda källan tillåter du uttryckligen osäkra anslutningar genom att lägga till allowInsecureConnections flaggan i NuGet.Config:

Information om hur du hanterar inställningen i Visual Studio finns i NuGet-alternativ i Visual Studio

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