Partager via


Le SDK .NET utilise un graphique RID plus petit

Les projets qui ciblent .NET 8 ou versions ultérieures utilisent désormais un graphique RID (Runtime Identifier) « portable » plus petit.

Comportement précédent

Le Kit de développement logiciel (SDK) .NET a utilisé un graphique RID complexe pour déterminer les ressources lors de la création ou de la publication d’un projet.

Nouveau comportement

À compter de .NET 8, le Kit de développement logiciel (SDK) .NET utilise un graphique plus petit composé uniquement de RID portables, pour les projets qui ciblent .NET 8 ou une version ultérieure. Cela signifie que le Kit de développement logiciel (SDK) ne reconnaît pas par défaut les RID spécifiques à la version ou à la distribution. Vous pouvez voir l’erreur suivante (ou similaire) lorsque vous générez votre projet :

erreur NETSDK1083 : le runtimeIdentifier « win10-x64 » spécifié n’est pas reconnu. Pour plus d’informations, consultez https://aka.ms/netsdk1083.

Version introduite

.NET 8 RC 1

Type de changement cassant

Ce changement est un changement comportemental et peut également affecter la compatibilité de la source.

Raison de la modification

Le graphique RID a été coûteux à maintenir et à comprendre, exigeant que .NET lui-même soit distro-conscient d’une manière fragile. L’équipe .NET et la communauté passent un certain temps à mettre à jour le graphique et à rétroporter ces mises à jour vers les versions précédentes. L’objectif à long terme est d’arrêter la mise à jour du graphique RID, d’arrêter de le lire et de le supprimer. Ce changement majeur est un pas vers cet objectif.

Utilisez des identifiants portables, par exemple, linux-<arch>, linux-musl-<arch>, osx-<arch>, et win-<arch>, au lieu d'identifiants spécifiques à la version ou à la distribution, tels que ubuntu.16.04-<arch>, osx.10.11-<arch> et win10-<arch>.

Si vous spécifiez le RID à l’aide de la propriété MSBuild RuntimeIdentifier dans votre fichier projet (*.csproj, *.vbproj ou *.fsproj), modifiez-la en conséquence. Par exemple, remplacez <RuntimeIdentifier>win10-x64</RuntimeIdentifier> par <RuntimeIdentifier>win-x64</RuntimeIdentifier> dans votre fichier projet.

<PropertyGroup>
  ...
  <RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>

Si vous spécifiez le RID en tant qu’argument de ligne de commande, apportez une modification similaire. Par exemple, au lieu de dotnet publish --framework net8.0 --runtime win10-x64, utilisez la commande dotnet publish --framework net8.0 --runtime win-x64.

Si vous devez revenir au comportement précédent d'utilisation de l'ancien et complet graphique RID, vous pouvez définir la propriété UseRidGraph MSBuild sur true dans votre fichier projet. Toutefois, l’ancien graphique RID ne sera pas mis à jour à l’avenir pour tenter de gérer d’autres distributions ou architectures.

<PropertyGroup>
  <UseRidGraph>true</UseRidGraph>
</PropertyGroup>

Voir aussi