NETSDK1239: Obecny zestaw SDK platformy .NET nie jest już obsługiwany

To ostrzeżenie wskazuje, że zestaw SDK .NET używany do kompilowania projektu kończy się życiem (EOL) i nie otrzymuje już aktualizacji zabezpieczeń. Pełny komunikat ostrzegawczy jest podobny do następującego przykładu:

NETSDK1239: Bieżący pakiet SDK platformy .NET (<version>) zakończył cykl życia z dniem <date>. Nie będzie otrzymywać dalszych aktualizacji zabezpieczeń: https://dotnet.microsoft.com/download

Aby rozwiązać ten problem, zainstaluj obsługiwany zestaw SDK .NET z https://dotnet.microsoft.com/download i zaktualizuj global.json (jeśli istnieje), aby wybrać nową wersję. Aby uzyskać informacje o aktualnym cyklu wsparcia, zobacz Wersje .NET i wsparcie.

To ostrzeżenie różni się od NETSDK1138, które jest zgłaszane, gdy platforma docelowa projektu nie jest wspierana. NETSDK1239 występuje, gdy zestaw SDK używany do uruchomienia kompilacji nie jest już obsługiwany, niezależnie od tego, jaką platformę docelową wybierzesz.

Jak działa to sprawdzenie

To sprawdzenie jest opcjonalne i jest wykonywane tylko wtedy, gdy właściwość MSBuild CheckSdkVulnerabilities jest ustawiona na true:

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

Możesz również przekazać /p:CheckSdkVulnerabilities=true do polecenia interfejsu wiersza polecenia .NET, takiego jak dotnet build.

Domyślnie interfejs wiersza poleceń .NET odświeża w tle lokalną pamięć podręczną metadanych wersji zestawu SDK nie częściej niż raz na 24 godziny w obszarze ~/.dotnet/sdk-vulnerability-cache/. Ustaw DOTNET_SDK_VULNERABILITY_CHECK_INTERVAL_HOURS wartość , aby zmienić interwał odświeżania. Kontrola MSBuild odczytuje tylko tę pamięć podręczną; nie wykonuje wywołań sieciowych podczas kompilacji.

Pomijanie ostrzeżenia

Aby pominąć ostrzeżenie bez aktualizowania zestawu SDK:

  • Dodaj NETSDK1239 do elementu NoWarn:

    <NoWarn>$(NoWarn);NETSDK1239</NoWarn>
    
  • Ustaw CheckSdkVulnerabilities wartość false (ustawienie domyślne), aby wyłączyć NETSDK1238, NETSDK1239 i NETSDK1240.

  • Ustaw zmienną środowiskową DOTNET_SDK_VULNERABILITY_CHECK_DISABLE na true.

Zobacz też