NETSDK1240 : le train de fonctionnalités actuel du SDK .NET n’est plus pris en charge

Cet avertissement indique que la bande de fonctionnalités du KIT de développement logiciel (SDK) .NET utilisé pour générer votre projet n’a pas de version plus récente, même si un sdk plus récent existe dans une autre bande de fonctionnalités sur la même version principale. Le message d’avertissement complet est similaire à l’exemple suivant :

NETSDK1240 : le SDK .NET actuel (<version>) n’a pas de version plus récente dans sa bande de fonctionnalités. Mise à jour vers la version <>:https://dotnet.microsoft.com/download

Une version .NET SDK a le formulaire <major>.<minor>.<feature-band><patch> (par exemple, 8.0.404, où 4xx est la bande de fonctionnalités). Lorsque le chemin de maintenance recommandé passe à une autre bande de fonctionnalités, l’ancienne bande cesse de recevoir des mises à jour. Pour résoudre l’avertissement, installez la version recommandée .NET SDK à partir de https://dotnet.microsoft.com/download et mettez à jour votre global.json (le cas échéant) pour le sélectionner.

Fonctionnement de la vérification

La vérification est activée et s’exécute uniquement lorsque la propriété CheckSdkVulnerabilities MSBuild est définie sur true:

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

Vous pouvez également passer /p:CheckSdkVulnerabilities=true à une commande CLI .NET, telle que dotnet build.

L’interface CLI .NET actualise un cache local des métadonnées de mise en production du SDK en arrière-plan sous ~/.dotnet/sdk-vulnerability-cache/. Par défaut, il actualise le cache au plus une fois toutes les 24 heures. Pour modifier cet intervalle, définissez DOTNET_SDK_VULNERABILITY_CHECK_INTERVAL_HOURS. La vérification MSBuild lit uniquement ce cache ; il n’effectue pas d’appels réseau pendant la génération.

Supprimer l’avertissement

Pour supprimer l’avertissement sans mettre à jour le Kit de développement logiciel (SDK) :

  • Ajouter NETSDK1240 à NoWarn:

    <NoWarn>$(NoWarn);NETSDK1240</NoWarn>
    
  • CheckSdkVulnerabilities Définissez false sur (valeur par défaut) pour désactiver NETSDK1238, NETSDK1239 et NETSDK1240.

  • Définissez la variable d’environnement DOTNET_SDK_VULNERABILITY_CHECK_DISABLE sur true.

Voir aussi