NETSDK1239: Den aktuella .NET SDK:en är slut

Den här varningen innebär att den .NET SDK som används för att bygga ditt projekt har nått slutet av sin livscykel (EOL) och inte längre får säkerhetsuppdateringar. Det fullständiga varningsmeddelandet liknar följande exempel:

NETSDK1239: Det aktuella .NET SDK:t (<version>) har nått slutet av sin livscykel från och med <datum>. Den får inga ytterligare säkerhetsuppdateringar: https://dotnet.microsoft.com/download

Lös varningen genom att installera en .NET SDK som stöds från https://dotnet.microsoft.com/download och uppdatera din global.json (om det finns) för att välja den nya versionen. Den aktuella supporttidslinjen finns i .NET versioner och support.

Den här varningen skiljer sig från NETSDK1138, som utlöses när projektets målramverk inte stöds. NETSDK1239 genereras när SDK:t som kör bygget inte stöds, oavsett vilket ramverk du riktar in dig på.

Så här fungerar kontrollen

Kontrollen är valbar och körs bara när MSBuild-egenskapen CheckSdkVulnerabilities anges till true:

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

Du kan också skicka /p:CheckSdkVulnerabilities=true till ett .NET CLI-kommando, till exempel dotnet build.

Som standard uppdaterar .NET CLI en lokal cache med SDK-versionsmetadata i bakgrunden högst en gång var 24:e timme under ~/.dotnet/sdk-vulnerability-cache/. Ange DOTNET_SDK_VULNERABILITY_CHECK_INTERVAL_HOURS för att ändra uppdateringsintervallet. MSBuild-kontrollen läser endast cacheminnet. Det gör inte nätverksanrop under bygget.

Ignorera varningen

Så här utelämnar du varningen utan att uppdatera SDK:n:

  • Lägg till NETSDK1239 i NoWarn:

    <NoWarn>$(NoWarn);NETSDK1239</NoWarn>
    
  • Ange CheckSdkVulnerabilities till false (standard) för att inaktivera NETSDK1238, NETSDK1239 och NETSDK1240.

  • DOTNET_SDK_VULNERABILITY_CHECK_DISABLE Ange miljövariabeln till true.

Se även