Partage via


NETSDK1100 : Définition de la propriété EnableWindowsTargeting sur true

NETSDK1100 indique que vous générez un projet qui cible Windows sur Linux ou macOS. Le message d’erreur complet est semblable à l’exemple suivant :

Pour générer un projet ciblant Windows sur ce système d’exploitation, définissez la propriété EnableWindowsTargeting sur true.

Pour résoudre cette erreur, définissez la propriété EnableWindowsTargeting sur true. Vous pouvez la définir dans le fichier projet ou en passant /p:EnableWindowsTargeting=true à une commande CLI .NET, comme dotnet build. Voici un exemple de fichier projet :

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <EnableWindowsTargeting>true</EnableWindowsTargeting>
  </PropertyGroup>
</Project>

Si vous voulez appliquer ce paramètre à l’ensemble de votre solution ou dépôt, vous pouvez le définir dans un fichier Directory.Build.props.

Par défaut, .NET télécharge tous les packs de ciblage (et les packs de runtime pour les builds autonomes) pour le framework cible actuel, qu’ils soient nécessaires ou non, car ils peuvent être introduits par une référence de framework transitive. Nous ne voulions pas joindre les packs de ciblage Windows à des builds autres que celles du SDK Windows, mais nous ne voulions pas non plus qu’une console vanilla ou une application ASP.NET Core télécharge automatiquement ces packs de ciblage et de runtime à la première génération. La propriété EnableWindowsTargeting permet de les télécharger uniquement si vous choisissez de le faire.

Voir aussi