RuntimeIdentifier retourne la plateforme pour laquelle le runtime a été généré
RuntimeInformation.RuntimeIdentifier retourne la plateforme pour laquelle le runtime a été généré, plutôt qu’une valeur calculée au moment de l’exécution.
Comportement précédent
La valeur était un identificateur d’exécution (RID) calculé par le biais de fichiers ou d’API du système d’exploitation. Cela signifie généralement qu’il s’agissait d’un RID spécifique à la version et à la distribution. Par exemple, lors de l’exécution d’une application sur Windows 11, la valeur était win10-x64
ou, sur Ubuntu 20.04, elle pouvait être ubuntu.20.04-x64
.
Nouveau comportement
À compter de .NET 8, la valeur est le RID pour lequel le runtime a été généré. Cela signifie que pour les builds portables du runtime (toutes les builds fournies par Microsoft), la valeur n’est pas spécifique à la version et non spécifique à la distribution. Par exemple, la valeur sur Windows 11 est win-x64
, et sur Ubuntu 20.04, c’est linux-x64
. Pour les builds non portables (build source), la build définit un RID de build qui peut avoir une version et une distribution, et cette valeur est le RID retourné.
Version introduite
.NET 8 RC 1
Type de changement cassant
Ce changement est un changement de comportement.
Raison du changement
Cette modification est conforme à une modification de .NET 8 dans la résolution de ressources spécifique au RID et de la fin du runtime reconnaissant les distributions. RuntimeInformation.RuntimeIdentifier est une valeur opaque qui doit représenter la plateforme sur laquelle l’hôte ou le runtime se considère comme étant en cours d’exécution. Dans .NET 8, qui correspond à la plateforme pour laquelle l’hôte ou le runtime est généré, plutôt qu’un RID calculé au moment de l’exécution.
Action recommandée
RuntimeInformation.RuntimeIdentifier est une valeur opaque qui n’est pas destinée à être analysée dans ses composants. Pour la version du système d’exploitation de l’ordinateur sur lequel une application s’exécute, utilisez Environment.OSVersion. Pour obtenir une description, utilisez RuntimeInformation.OSDescription. Pour un ID spécifique (distribution) et une version correspondante sur Linux, vous pouvez lire le fichier os-release du système d’exploitation.