Kesalahan NuGet NU1302

Skenario 1

Anda menjalankan operasi 'pulihkan' dengan sumber 'HTTP': myHttpSource. NuGet memerlukan sumber HTTPS. Untuk menggunakan sumber HTTP, Anda harus secara eksplisit mengatur 'allowInsecureConnections' ke true dalam file NuGet.Config Anda. Silakan merujuk ke https://aka.ms/nuget-https-everywhere untuk informasi lebih lanjut.

Issue

myHttpSource adalah sumber HTTP yang tidak aman. Sebaiknya gunakan sumber HTTPS sebagai gantinya.

Solution

Opsi 1: Perbarui Sumber untuk Menggunakan HTTPS

Jika memungkinkan, perbarui sumber paket untuk menggunakan https:// alih-alih http://:

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

Opsi 2: Izinkan Koneksi Tidak Aman (Jika Perlu)

Jika sumber harus tetap HTTP, secara eksplisit mengizinkan koneksi yang tidak aman dengan menambahkan bendera AllowInsecureConnections di NuGet.Config:

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

Opsi 3: Lihat Tingkat Analisis SDK

Properti SdkAnalysisLevel dalam proyek Anda dapat berfungsi sebagai solusi sementara untuk mengelola sumber HTTP. Jika waktu tambahan diperlukan untuk mengatasi kesalahan HTTP, Anda dapat menurunkan SdkAnalysisLevel untuk menekan kesalahan untuk sementara. Berikut cara fungsinya:

  • Untuk nilai Tingkat Analisis SDK di bawah 9.0.100, menggunakan sumber HTTP memicu peringatan (NU1803).
  • Dimulai dengan Tingkat Analisis SDK 9.0.100 atau lebih tinggi, sumber HTTP mengakibatkan kesalahan (NU1302) kecuali AllowInsecureConnections diaktifkan secara eksplisit.

Warning

Mengubah SdkAnalysisLevel memiliki efek samping lainnya. SdkAnalysisLevel Lihat ringkasan lingkup lengkap fitur .NET SDK yang terpengaruh.

Skenario 2

Anda menggunakan sumber NuGet 'https://contoso/v3/index.json' yang berisi titik akhir sumber daya indeks layanan 'HTTP': 'http://contoso/v3-flatcontainer/contoso/index.json'. Ini tidak aman dan tidak disarankan. Untuk mengizinkan sumber daya HTTP, Anda harus secara eksplisit mengatur 'allowInsecureConnections' ke true dalam file NuGet.Config Anda. Untuk informasi selengkapnya, kunjungi https://aka.ms/nuget-https-everywhere.

Issue

Sumber paket yang dikonfigurasi menggunakan HTTPS, tetapi salah satu sumber dayanya (ditunjukkan dalam pesan kesalahan) menggunakan HTTP.

NuGet mengharuskan semua sumber dan sumber dayanya menggunakan HTTPS. Jika Anda ingin terus menggunakan sumber ini meskipun sumber daya HTTP-nya, Anda harus mengatur allowInsecureConnections bendera ke true dalam file NuGet.config Anda.

Untuk mempelajari selengkapnya tentang sumber paket dan titik akhir sumber daya, lihat API NuGet Server.

Opsi 1: Perbarui Sumber untuk Menggunakan HTTPS

Jika memungkinkan, beralihlah ke sumber paket yang hanya menyediakan sumber daya HTTPS. Ini adalah opsi yang direkomendasikan dan paling aman.

Opsi 2: Izinkan Koneksi Tidak Aman (Jika Perlu)

Jika Anda harus menggunakan sumbernya, secara eksplisit mengizinkan koneksi yang tidak aman dengan menambahkan allowInsecureConnections bendera di NuGet.Config:

Untuk informasi tentang mengelola pengaturan di Visual Studio, lihat Opsi NuGet di Visual Studio

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