Avertissement « RuntimeIdentifier » si autonome n’est pas spécifié
Si vous spécifiez un RuntimeIdentifier
dans votre fichier projet ou utilisez l’option -r
avec dotnet
, le kit SDK .NET génère, publie et exécute par défaut les sorties pour que les applications soient autonomes. La valeur par défaut sans spécifier un RuntimeIdentifier
consiste à générer une application dépendante de l’infrastructure. Cette modification introduit un nouvel avertissement (NETSDK1179) si vous spécifiez un RuntimeIdentifier
sans spécifier si l’application est autonome.
Version introduite
.NET 6 RC 1
Comportement précédent
Dans les versions précédentes, la spécification d’un RuntimeIdentifier
permettait de changer silencieusement l’application pour passer d’une application dépendante de l’infrastructure à une application autonome.
Nouveau comportement
Dans .NET 6, si vous spécifiez un RuntimeIdentifier
sans spécifier si l’application est autonome, cet avertissement s’affiche :
avertissement NETSDK1179 : une option '--self-contained' ou '--no-self-contained' est nécessaire quand '--runtime' est utilisé.
Par exemple, la commande suivante génère l’avertissement :
dotnet publish -r win-x86
Modifier la catégorie
Ce changement peut affecter la compatibilité source.
Raison du changement
La valeur par défaut sans spécifier un RuntimeIdentifier
consiste à générer une application dépendante de l’infrastructure. Cette valeur par défaut a entraîné la confusion de nombreux clients. L’ajout de l’avertissement a ces objectifs :
- Avertir les clients du changement de comportement par défaut de générer une application dépendante de l’infrastructure.
- Encourager les clients à choisir spécifiquement le type d’application qu’ils souhaitent créer.
- Préparer les clients à changer éventuellement le comportement dans .NET 7 pour que la valeur par défaut dépende de l’infrastructure.
Action recommandée
- Spécifiez une valeur booléenne dans votre fichier projet pour
SelfContained
. - Vous pouvez également ajouter
--self-contained
avec une valeur à votre commande build ou publish.
API affectées
N/A