NETSDK1240: A atual faixa de funcionalidade do SDK do .NET foi descontinuada

Este aviso indica que a banda de funcionalidades do SDK .NET usada para construir o seu projeto não tem lançamento mais recente, mesmo que exista um SDK mais recente numa banda de funcionalidades diferente na mesma versão principal. A mensagem de aviso completa é semelhante ao seguinte exemplo:

NETSDK1240: O SDK atual do .NET (<versão>) não tem nenhuma versão mais recente na sua banda de funcionalidade. Atualizar para a versão <version>: https://dotnet.microsoft.com/download

Uma versão .NET SDK tem a forma <major>.<minor>.<feature-band><patch> (por exemplo, 8.0.404, onde 4xx é a banda de características). Quando o caminho de manutenção recomendado muda para uma banda de funcionalidades diferente, a banda antiga deixa de receber atualizações. Para resolver o aviso, instala a versão recomendada do SDK .NET a partir de https://dotnet.microsoft.com/download e atualiza o teu global.json (se estiver presente) para a selecionar.

Como funciona a verificação

A verificação é opt-in e só é executada quando a propriedade CheckSdkVulnerabilities MSBuild está definida para true:

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

Também pode passar /p:CheckSdkVulnerabilities=true para um comando .NET CLI, como dotnet build.

A CLI do .NET atualiza em segundo plano uma cache local dos metadados de versão do SDK em ~/.dotnet/sdk-vulnerability-cache/. Por defeito, atualiza a cache no máximo uma vez a cada 24 horas. Para alterar esse intervalo, defina DOTNET_SDK_VULNERABILITY_CHECK_INTERVAL_HOURS. A verificação MSBuild lê apenas essa cache; Não faz chamadas de rede durante a construção.

Suprimir o aviso

Para suprimir o aviso sem atualizar o SDK:

  • Adicionar NETSDK1240 a:NoWarn

    <NoWarn>$(NoWarn);NETSDK1240</NoWarn>
    
  • Defina CheckSdkVulnerabilities como false (predefinido) para desativar NETSDK1238, NETSDK1239 e NETSDK1240.

  • Defina a DOTNET_SDK_VULNERABILITY_CHECK_DISABLE variável de ambiente como true.

Consulte também