NETSDK1239: Geçerli .NET SDK'sı kullanım süresi sonudur

Bu uyarı, projenizi oluşturmak için kullanılan .NET SDK'sının kullanım süresi sonu (EOL) olduğunu ve artık güvenlik güncelleştirmelerini almadığını gösterir. Tam uyarı iletisi aşağıdaki örneğe benzer:

NETSDK1239: Geçerli .NET SDK'sı (<version>), <date> itibarıyla kullanım ömrü sona erer. Başka güvenlik güncelleştirmesi almaz: https://dotnet.microsoft.com/download

Uyarıyı çözmek için https://dotnet.microsoft.com/download'dan desteklenen bir .NET SDK yükleyin ve yeni sürümü seçmek için global.json (varsa) güncelleştirin. Geçerli destek zaman çizelgesi için bkz. .NET sürümleri ve destek.

Bu uyarı, projenizin hedef çerçevesi destek dışı olduğunda ortaya çıkan NETSDK1138 farklıdır. NETSDK1239, hangi hedef çerçeveyi hedeflediğinizden bağımsız olarak, derlemeyi çalıştıran SDK destek dışı kaldığında oluşturulur.

Denetim nasıl çalışır

Denetim isteğe bağlıdır ve yalnızca MSBuild özelliği CheckSdkVulnerabilities, true olarak ayarlandığında çalışır:

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

/p:CheckSdkVulnerabilities=true dotnet build gibi bir .NET CLI komutuna da geçirebilirsiniz.

varsayılan olarak, .NET CLI arka planda SDK yayın meta verilerinin yerel önbelleğini ~/.dotnet/sdk-vulnerability-cache/ altında en fazla 24 saatte bir yeniler. Yenileme aralığını değiştirmek için ayarlayın DOTNET_SDK_VULNERABILITY_CHECK_INTERVAL_HOURS . MSBuild denetimi yalnızca bu önbelleği okur; derleme sırasında ağ çağrıları yapmaz.

Uyarıyı gizleme

SDK'yi güncelleştirmeden uyarıyı bastırmak için:

  • NETSDK1239 öğesini NoWarn öğesine ekleyin:

    <NoWarn>$(NoWarn);NETSDK1239</NoWarn>
    
  • CheckSdkVulnerabilities öğesini, NETSDK1238, NETSDK1239 ve NETSDK1240'ı devre dışı bırakmak için false (varsayılan) olarak ayarlayın.

  • Ortam değişkenini DOTNET_SDK_VULNERABILITY_CHECK_DISABLE olarak trueayarlayın.

Ayrıca bakınız