RuntimeIdentifier automatique pour la publication uniquement
Dans le SDK 7.0.100, il y a eu une modification afin d’ajouter automatiquement <RuntimeIdentifier>
aux projets dont les propriétés nécessitent un identificateur d’exécution (RID). Ces propriétés sont les suivantes :
SelfContained
PublishAot
PublishReadyToRun
PublishSingleFile
PublishSelfContained
Toutefois, toutes ces propriétés à l’exception de SelfContained
sont utilisées uniquement pour la publication. Cependant, l’implicite <RuntimeIdentifier>
a été ajouté pour toute opération dotnet
si ces propriétés se trouvaient dans le fichier projet ou spécifiées dans le cadre de la commande dotnet
.
À présent, le RID automatique pour ces propriétés, à l’exclusion de SelfContained
, est ajouté uniquement lors de la publication. En outre, le RID automatique est ajouté uniquement lors de l’utilisation de la commande CLI dotnet publish
. Il n’est pas ajouté lorsque vous publiez à partir de Visual Studio ou msbuild
, car il s’agit de mécanismes distincts, et Visual Studio doit fournir son propre RID.
Version introduite
Kit SDK .NET 7.0.200
Comportement précédent
Auparavant, si vous spécifiez l’une des propriétés mentionnées, le RID était automatiquement ajouté au projet.
Nouveau comportement
Le RID est ajouté automatiquement uniquement pour la commande dotnet publish
.
Si vous avez effectué une restauration sans RID dans .NET 7 et que vous l’utilisez pour restaurer une commande publish --no-restore
sur un projet avec l’une des propriétés mentionnées, vous devez spécifier un RID à l’aide de dotnet restore -r <RID>
.
Type de changement cassant
Cette modification peut affecter la compatibilité binaire et la compatibilité des sources.
Raison du changement
La modification du RID était un changement cassant, et il n’était pas nécessaire de modifier la propriété de publication pour arrêter dotnet build
et d’autres commandes non liées à la publication.
Action recommandée
Pour une action comme restore
suivie de publish --no-restore
, vous devez ajouter le RID à l’aide de dotnet restore -r RID
. Dans ce cas, il est également préférable d’être explicite lorsque vous publiez afin que la publication ait le même RID (à l’aide de dotnet publish -r RID
). Vous pouvez également supprimer --no-restore
de la commande publish.
Pour tout le reste, aucune action n’est nécessaire. Toutefois, si vous souhaitez conserver le RID, ajoutez-le au fichier projet comme suit : <RuntimeIdentifier>win-x64</RuntimeIdentifier>
.
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour