NETSDK1240: il gruppo di funzionalità .NET SDK corrente non è più disponibile

Questo avviso indica che la banda di funzionalità dell'SDK di .NET usata per compilare il progetto non ha una versione più recente, anche se un SDK più recente esiste in un gruppo di funzionalità diverso nella stessa versione principale. Il messaggio di avviso completo è simile all'esempio seguente:

NETSDK1240: l'SDK di .NET corrente (<version>) non ha una versione più recente nella relativa banda di funzionalità. Aggiornamento alla <versione>: https://dotnet.microsoft.com/download

Una versione .NET SDK ha il formato <major>.<minor>.<feature-band><patch> (ad esempio, 8.0.404, dove 4xx è la banda di funzionalità). Quando il percorso di manutenzione consigliato passa a una banda di funzionalità diversa, la banda precedente smette di ricevere aggiornamenti. Per risolvere l'avviso, installare la versione consigliata di .NET SDK da https://dotnet.microsoft.com/download e aggiornare global.json (se presente) per selezionarla.

Come funziona la verifica

Il controllo è facoltativo e viene eseguito solo quando la proprietà MSBuild CheckSdkVulnerabilities è impostata su true:

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

È anche possibile passare /p:CheckSdkVulnerabilities=true a un comando dell'interfaccia della riga di comando di .NET, ad esempio dotnet build.

.NET CLI aggiorna in background una cache locale dei metadati delle versioni di rilascio dell'SDK in ~/.dotnet/sdk-vulnerability-cache/. Per impostazione predefinita, aggiorna la cache al massimo ogni 24 ore. Per modificare tale intervallo, impostare DOTNET_SDK_VULNERABILITY_CHECK_INTERVAL_HOURS. Il controllo MSBuild legge solo la cache; non effettua chiamate di rete durante la compilazione.

Eliminare l'avviso

Per eliminare l'avviso senza aggiornare l'SDK:

  • Aggiungi NETSDK1240 a NoWarn:

    <NoWarn>$(NoWarn);NETSDK1240</NoWarn>
    
  • Impostare CheckSdkVulnerabilities su false (valore predefinito) per disattivare NETSDK1238, NETSDK1239 e NETSDK1240.

  • Impostare la DOTNET_SDK_VULNERABILITY_CHECK_DISABLE variabile di ambiente su true.

Vedere anche