NETSDK1239: SDK .NET saat ini adalah akhir masa pakai

Peringatan ini menunjukkan bahwa SDK .NET yang digunakan untuk membangun proyek Anda adalah akhir masa pakai (EOL) dan tidak lagi menerima pembaruan keamanan. Pesan peringatan lengkap mirip dengan contoh berikut:

NETSDK1239: SDK .NET saat ini (<version>) telah berakhir masa pakainya sejak <date>. Ini tidak akan menerima pembaruan keamanan lebih lanjut: https://dotnet.microsoft.com/download

Untuk mengatasi peringatan, instal SDK .NET yang didukung dari https://dotnet.microsoft.com/download dan perbarui global.json (jika ada) untuk memilih versi baru. Untuk linimasa dukungan saat ini, lihat rilis dan dukungan .NET.

Peringatan ini berbeda dari NETSDK1138, yang dimunculkan ketika kerangka kerja target proyek Anda tidak didukung. NETSDK1239 dinaikkan ketika SDK yang menjalankan build tidak didukung, terlepas dari kerangka kerja mana yang Anda targetkan.

Cara kerja pemeriksaan

Pemeriksaan ini bersifat opsional dan hanya dijalankan saat properti MSBuild CheckSdkVulnerabilities diatur ke true:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <CheckSdkVulnerabilities>true</CheckSdkVulnerabilities>
  </PropertyGroup>
</Project>

Anda juga dapat meneruskan /p:CheckSdkVulnerabilities=true ke perintah CLI .NET, seperti dotnet build.

Secara bawaan, CLI .NET menyegarkan cache lokal metadata rilis SDK di latar belakang paling sering sekali setiap 24 jam di ~/.dotnet/sdk-vulnerability-cache/. Atur DOTNET_SDK_VULNERABILITY_CHECK_INTERVAL_HOURS untuk mengubah interval refresh. Pemeriksaan MSBuild hanya membaca cache tersebut; tidak melakukan panggilan jaringan selama build.

Menyembunyikan peringatan

Untuk menekan peringatan tanpa memperbarui SDK:

  • Tambahkan NETSDK1239 ke NoWarn:

    <NoWarn>$(NoWarn);NETSDK1239</NoWarn>
    
  • Atur CheckSdkVulnerabilities ke false (default) untuk menonaktifkan NETSDK1238, NETSDK1239, dan NETSDK1240.

  • Atur DOTNET_SDK_VULNERABILITY_CHECK_DISABLE variabel lingkungan ke true.

Baca juga