NETSDK1240: bieżący przedział funkcji zestawu SDK .NET został przerwany

To ostrzeżenie wskazuje, że przedział funkcji zestawu SDK .NET używany do kompilowania projektu nie ma nowszej wersji, mimo że nowszy zestaw SDK istnieje w innym pasmie funkcji w tej samej wersji głównej. Pełny komunikat ostrzegawczy jest podobny do następującego przykładu:

NETSDK1240: Obecny pakiet SDK platformy .NET (<version>) nie ma nowszego wydania w tym paśmie funkcji. Aktualizacja do wersji<>:https://dotnet.microsoft.com/download

Wersja zestawu SDK .NET ma formularz <major>.<minor>.<feature-band><patch> (na przykład 8.0.404, gdzie 4xx jest pasmem funkcji). Gdy zalecana ścieżka obsługi przechodzi do innego przedziału funkcji, starszy zespół przestaje otrzymywać aktualizacje. Aby usunąć to ostrzeżenie, zainstaluj zalecaną wersję zestawu SDK platformy .NET z https://dotnet.microsoft.com/download i zaktualizuj plik global.json (jeśli istnieje), aby ją wybrać.

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.

Interfejs wiersza polecenia platformy .NET odświeża w tle lokalną pamięć podręczną metadanych dotyczących wydań zestawu SDK w obszarze ~/.dotnet/sdk-vulnerability-cache/. Domyślnie odświeża pamięć podręczną co najwyżej co 24 godziny. Aby zmienić ten interwał, ustaw wartość DOTNET_SDK_VULNERABILITY_CHECK_INTERVAL_HOURS. Kontrola MSBuild odczytuje tylko tę pamięć podręczną; podczas kompilacji nie wykonuje wywołań sieciowych.

Pomijanie ostrzeżenia

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

  • Dodaj NETSDK1240 do elementu NoWarn:

    <NoWarn>$(NoWarn);NETSDK1240</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ż