Aracılığıyla paylaş


NuGet Hatası NU1302

Senaryo 1

'HTTP' kaynağıyla 'geri yükleme' işlemini çalıştıracaksınız: myHttpSource. NuGet için HTTPS kaynakları gerekir. HTTP kaynağı kullanmak için NuGet.Config dosyanızda açıkça 'allowInsecureConnections' değerini true olarak ayarlamanız gerekir. Daha fazla bilgi için lütfen https://aka.ms/nuget-https-everywhere bakın.

Issue

myHttpSource güvenli olmayan bir HTTP kaynağıdır. Bunun yerine bir HTTPS kaynağı kullanmanızı öneririz.

Solution

1. Seçenek: Kaynağı HTTPS Kullanacak Şekilde Güncelleştirme

Mümkünse paket kaynağını https://yerine http:// kullanacak şekilde güncelleştirin:

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

Seçenek 2: Güvenli Olmayan Bağlantılara İzin Ver (Gerekirse)

Kaynağın HTTP olarak kalması gerekiyorsa, AllowInsecureConnectionsNuGet.Config bayrağını ekleyerek güvenli olmayan bağlantılara açıkça izin verin:

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

Seçenek 3: SDK Analiz Düzeyine Başvurun

Projenizdeki SdkAnalysisLevel özelliği, HTTP kaynaklarını yönetmek için geçici bir geçici çözüm olarak görev yapabilir. HTTP hatasını çözmek için ek süre gerekiyorsa, hataları geçici olarak engellemek için SdkAnalysisLevel azaltabilirsiniz. Şu şekilde çalışır:

  • SDK Çözümleme Düzeyi değeri 9.0.100altında için, HTTP kaynaklarının kullanılması bir uyarı tetikler (nu1803).
  • SDK Çözümleme Düzeyi 9.0.100 veya üzeriile başlayarak, AllowInsecureConnections açıkça etkinleştirilmediği sürece HTTP kaynakları bir hataya (NU1302) neden olur.

Warning

SdkAnalysisLevel'in değiştirilmesinin başka yan etkileri de vardır. SdkAnalysisLevel Etkilenen .NET SDK özelliklerinin tam kapsamının özeti için adresine bakın.

Senaryo 2

'https://contoso/v3/index.jsonHTTP' hizmet dizini kaynak uç noktasını içeren bir '' NuGet kaynağı kullanıyorsunuz: ''http://contoso/v3-flatcontainer/contoso/index.json. Bu güvenli değildir ve önerilmez. HTTP kaynaklarına izin vermek için NuGet.Config dosyanızda açıkça 'allowInsecureConnections' değerini true olarak ayarlamanız gerekir. Daha fazla bilgi için https://aka.ms/nuget-https-everywhere adresini ziyaret edin.

Issue

Yapılandırılmış paket kaynağı HTTPS kullanır, ancak kaynaklarından biri (hata iletisinde gösterilir) HTTP kullanır.

NuGet, tüm kaynakların ve kaynaklarının HTTPS kullanmasını gerektirir. HTTP kaynağına rağmen bu kaynağı kullanmaya devam etmek istiyorsanız, NuGet.config dosyanızda bayrağını allowInsecureConnections true olarak ayarlamanız gerekir.

Paket kaynakları ve kaynak uç noktaları hakkında daha fazla bilgi edinmek için NuGet Server API'sine göz atın.

1. Seçenek: Kaynağı HTTPS Kullanacak Şekilde Güncelleştirme

Mümkün olduğunda yalnızca HTTPS kaynakları sağlayan bir paket kaynağına geçin. Bu önerilen ve en güvenli seçenektir.

Seçenek 2: Güvenli Olmayan Bağlantılara İzin Ver (Gerekirse)

Kaynağı kullanmanız gerekiyorsa, bayrağını NuGet.Configöğesine ekleyerek allowInsecureConnections güvenli olmayan bağlantılara açıkça izin verin:

Visual Studio'da ayarı yönetme hakkında bilgi için bkz. Visual Studio'da NuGet Seçenekleri

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