NETSDK1239: l'SDK di .NET corrente è di fine vita

Questo avviso indica che l'SDK di .NET usato per compilare il progetto è di fine vita (EOL) e non riceve più gli aggiornamenti della sicurezza. Il messaggio di avviso completo è simile all'esempio seguente:

NETSDK1239: L'SDK .NET corrente (<version>) ha raggiunto la fine del ciclo di vita a decorrere dal <date>. Non riceverà altri aggiornamenti della sicurezza: https://dotnet.microsoft.com/download

Per risolvere l'avviso, installare un SDK .NET supportato da https://dotnet.microsoft.com/download e aggiornare il global.json (se presente) per selezionare la nuova versione. Per la sequenza temporale del supporto corrente, vedere .NET versioni e supporto.

Questo avviso è diverso da NETSDK1138, che viene generato quando il framework di destinazione del progetto non è supportato. NETSDK1239 viene generato quando l'SDK che esegue la compilazione non è supportato, indipendentemente dal framework di destinazione.

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.

Per impostazione predefinita, la CLI di .NET aggiorna in background una cache locale dei metadati delle versioni dell'SDK al massimo una volta ogni 24 ore in ~/.dotnet/sdk-vulnerability-cache/. Impostare DOTNET_SDK_VULNERABILITY_CHECK_INTERVAL_HOURS per modificare l'intervallo di aggiornamento. 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 NETSDK1239 a NoWarn:

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