Catalogue RID .NET Core.NET Core RID Catalog

RID est l’abréviation de Runtime IDentifier (identificateur de runtime).RID is short for Runtime IDentifier. Les valeurs RID sont utilisées pour identifier les plateformes cibles où l’application s’exécute.RID values are used to identify target platforms where the application runs. Elles sont utilisées par les packages .NET pour représenter des ressources spécifiques à une plateforme dans les packages NuGet.They're used by .NET packages to represent platform-specific assets in NuGet packages. Les valeurs suivantes sont des exemples d’identificateurs RID : linux-x64, ubuntu.14.04-x64, win7-x64 ou osx.10.12-x64.The following values are examples of RIDs: linux-x64, ubuntu.14.04-x64, win7-x64, or osx.10.12-x64. Pour les packages ayant des dépendances natives, les RID désignent les plateformes sur lesquelles ils peuvent être restaurés.For the packages with native dependencies, the RID designates on which platforms the package can be restored.

Un seul RID peut être défini dans l’élément <RuntimeIdentifier> de votre fichier projet.A single RID can be set in the <RuntimeIdentifier> element of your project file. Les RID multiples peuvent être définis sous forme de liste de valeurs séparées par des points-virgules dans l’élément <RuntimeIdentifiers> du fichier projet.Multiple RIDs can be defined as a semicolon-delimited list in the project file's <RuntimeIdentifiers> element. Ils sont également utilisés par le biais de l’option --runtime avec les commandes de l’interface CLI .NET Core suivantes :They're also used via the --runtime option with the following .NET Core CLI commands:

Les RID qui représentent des systèmes d’exploitation concrets suivent généralement ce modèle : [os].[version]-[architecture]-[additional qualifiers] où :RIDs that represent concrete operating systems usually follow this pattern: [os].[version]-[architecture]-[additional qualifiers] where:

  • [os] représente le moniker du système d’exploitation/de la plateforme.[os] is the operating/platform system moniker. Par exemple, ubuntu.For example, ubuntu.

  • [version] représente la version du système d’exploitation sous la forme d’un numéro de version (.) séparé par un point.[version] is the operating system version in the form of a dot-separated (.) version number. Par exemple, 15.10.For example, 15.10.

    • La version ne doit pas correspondre à des versions marketing, car celles-ci représentent souvent plusieurs versions distinctes du système d’exploitation avec une surface d’exposition variable des API de la plateforme.The version shouldn't be marketing versions, as they often represent multiple discrete versions of the operating system with varying platform API surface area.
  • [architecture] représente l’architecture de processeur.[architecture] is the processor architecture. Par exemple : x86, x64, arm ou arm64.For example: x86, x64, arm, or arm64.

  • [additional qualifiers] permet de distinguer davantage les plateformes.[additional qualifiers] further differentiate different platforms. Par exemple : aot.For example: aot.

Graphe RIDRID graph

Le graphe RID ou le graphe de secours du runtime consiste en une liste d’identificateurs RID compatibles entre eux.The RID graph or runtime fallback graph is a list of RIDs that are compatible with each other. Les RID sont définis dans le package Microsoft.NETCore.Platforms.The RIDs are defined in the Microsoft.NETCore.Platforms package. Vous pouvez consulter la liste des RID pris en charge et le graphe RID dans le fichier runtime.json, situé dans le référentiel CoreFX.You can see the list of supported RIDs and the RID graph in the runtime.json file, which is located at the CoreFX repo. Dans ce fichier, vous pouvez voir que tous les RID, sauf celui de base, contiennent une instruction "#import".In this file, you can see that all RIDs, except for the base one, contain an "#import" statement. Ces instructions indiquent des RID compatibles.These statements indicate compatible RIDs.

Lorsque NuGet restaure des packages, il tente de trouver une correspondance exacte pour le runtime spécifié.When NuGet restores packages, it tries to find an exact match for the specified runtime. Si aucune correspondance exacte n’est trouvée, NuGet remonte le graphe jusqu'à ce qu’il trouve le système compatible le plus proche selon le graphe RID.If an exact match is not found, NuGet walks back the graph until it finds the closest compatible system according to the RID graph.

L’exemple suivant est l’entrée réelle pour le RID osx.10.12-x64 :The following example is the actual entry for the osx.10.12-x64 RID:

"osx.10.12-x64": {
    "#import": [ "osx.10.12", "osx.10.11-x64" ]
}

Le RID ci-dessus indique que osx.10.12-x64 importe osx.10.11-x64.The above RID specifies that osx.10.12-x64 imports osx.10.11-x64. Donc, lorsque NuGet restaure des packages, il tente de trouver une correspondance exacte pour osx.10.12-x64 dans le package.So, when NuGet restores packages, it tries to find an exact match for osx.10.12-x64 in the package. Si NuGet ne trouve pas le runtime spécifique, il peut restaurer des packages qui spécifient des runtimes osx.10.11-x64, par exemple.If NuGet cannot find the specific runtime, it can restore packages that specify osx.10.11-x64 runtimes, for example.

L’exemple suivant illustre un graphe RID légèrement plus grand également défini dans le fichier runtime.json :The following example shows a slightly bigger RID graph also defined in the runtime.json file:

    win7-x64    win7-x86
       |   \   /    |
       |   win7     |
       |     |      |
    win-x64  |  win-x86
          \  |  /
            win
             |
            any

Tous les RID sont finalement remappés au RID any racine.All RIDs eventually map back to the root any RID.

Lorsque vous utilisez les RID, il existe quelques remarques que vous devez garder à l’esprit :There are some considerations about RIDs that you have to keep in mind when working with them:

  • Les RID sont des chaînes opaques qui doivent être considérées comme des boîtes noires.RIDs are opaque strings and should be treated as black boxes.
  • Ne générez pas les RID par programme.Don't build RIDs programmatically.
  • Utilisez des RID déjà définis pour la plateforme.Use RIDs that are already defined for the platform.
  • Les RID se devant d’être spécifiques, ne déduisez rien de leur valeur réelle.The RIDs need to be specific, so don't assume anything from the actual RID value.

Utilisation de RIDUsing RIDs

Pour utiliser des RID, vous devez savoir lesquels existent.To be able to use RIDs, you have to know which RIDs exist. De nouvelles valeurs sont régulièrement ajoutées à la plateforme.New values are added regularly to the platform. Pour en connaître la version complète la plus récente, consultez le fichier runtime.json dans le référentiel CoreFX.For the latest and complete version, see the runtime.json file on CoreFX repo.

Le kit SDK .NET Core 2.0 introduit le concept d’identificateurs RID portables..NET Core 2.0 SDK introduces the concept of portable RIDs. Il s’agit de nouvelles valeurs ajoutées au graphe RID qui ne sont liées à aucune version ou distribution du système d’exploitation spécifique. Elles sont recommandées avec .NET Core 2.0 et les versions ultérieures.They are new values added to the RID graph that aren't tied to a specific version or OS distribution and are the preferred choice when using .NET Core 2.0 and higher. Elles sont particulièrement utiles pour gérer plusieurs distributions Linux, car la plupart des RID de distribution correspondent aux RID portables.They're particularly useful when dealing with multiple Linux distros since most distribution RIDs are mapped to the portable RIDs.

La liste suivante présente un petit sous-ensemble des RID les plus courants utilisés pour chaque système d’exploitation.The following list shows a small subset of the most common RIDs used for each OS.

RID WindowsWindows RIDs

Seules les valeurs courantes sont présentées.Only common values are listed. Pour en connaître la version complète la plus récente, consultez le fichier runtime.json dans le référentiel CoreFX.For the latest and complete version, see the runtime.json file on CoreFX repo.

  • Portable (.NET Core 2.0 ou versions ultérieures)Portable (.NET Core 2.0 or later versions)
    • win-x64
    • win-x86
    • win-arm
    • win-arm64
  • Windows 7 / Windows Server 2008 R2Windows 7 / Windows Server 2008 R2
    • win7-x64
    • win7-x86
  • Windows 8.1 / Windows Server 2012 R2Windows 8.1 / Windows Server 2012 R2
    • win81-x64
    • win81-x86
    • win81-arm
  • Windows 10 / Windows Server 2016Windows 10 / Windows Server 2016
    • win10-x64
    • win10-x86
    • win10-arm
    • win10-arm64

Pour plus d’informations, consultez Configuration requise pour .NET Core sur Windows.See Prerequisites for .NET Core on Windows for more information.

RID LinuxLinux RIDs

Seules les valeurs courantes sont présentées.Only common values are listed. Pour en connaître la version complète la plus récente, consultez le fichier runtime.json dans le référentiel CoreFX.For the latest and complete version, see the runtime.json file on CoreFX repo. Les appareils dont la distribution ne figure pas ci-dessous sont susceptibles de fonctionner avec l’un des RID portables.Devices running a distribution not listed below may work with one of the Portable RIDs. Par exemple, les appareils Raspberry Pi exécutant une distribution Linux non listée peuvent être ciblés avec linux-arm.For example, Raspberry Pi devices running a Linux distribution not listed can be targeted with linux-arm.

  • Portable (.NET Core 2.0 ou versions ultérieures)Portable (.NET Core 2.0 or later versions)
    • linux-x64 (la plupart des distributions pour ordinateurs de bureau, comme CentOS, Debian, Fedora, Ubuntu et dérivés)linux-x64 (Most desktop distributions like CentOS, Debian, Fedora, Ubuntu and derivatives)
    • linux-musl-x64 (distributions légères utilisant musl, comme Linux Alpine)linux-musl-x64 (Lightweight distributions using musl like Alpine Linux)
    • linux-arm (distributions Linux qui s’exécutent sur ARM, comme Raspberry Pi)linux-arm (Linux distributions running on ARM like Raspberry Pi)
  • Red Hat Enterprise LinuxRed Hat Enterprise Linux
    • rhel-x64 (remplacé par linux-x64 pour RHEL après la version 6)rhel-x64 (Superseded by linux-x64 for RHEL above version 6)
    • rhel.6-x64 (.NET Core 2.0 ou versions ultérieures)rhel.6-x64 (.NET Core 2.0 or later versions)
  • Tizen (.NET Core 2.0 ou versions ultérieures)Tizen (.NET Core 2.0 or later versions)
    • tizen
    • tizen.4.0.0
    • tizen.5.0.0

Pour plus d’informations, consultez Configuration requise pour .NET Core sur Linux.See Prerequisites for .NET Core on Linux for more information.

RID macOSmacOS RIDs

Les RID macOS utilisent l’ancien logo « OSX ».macOS RIDs use the older "OSX" branding. Seules les valeurs courantes sont présentées.Only common values are listed. Pour en connaître la version complète la plus récente, consultez le fichier runtime.json dans le référentiel CoreFX.For the latest and complete version, see the runtime.json file on CoreFX repo.

  • Portable (.NET Core 2.0 ou versions ultérieures)Portable (.NET Core 2.0 or later versions)
    • osx-x64 (la version minimale du système d’exploitation est macOS 10.12 Sierra)osx-x64 (Minimum OS version is macOS 10.12 Sierra)
  • macOS 10.10 YosemitemacOS 10.10 Yosemite
    • osx.10.10-x64
  • macOS 10.11 El CapitanmacOS 10.11 El Capitan
    • osx.10.11-x64
  • macOS 10.12 Sierra (.NET Core 1.1 ou versions ultérieures)macOS 10.12 Sierra (.NET Core 1.1 or later versions)
    • osx.10.12-x64
  • macOS 10.13 High Sierra (.NET Core 1.1 ou versions ultérieures)macOS 10.13 High Sierra (.NET Core 1.1 or later versions)
    • osx.10.13-x64
  • macOS 10.14 Mojave (.NET Core 1.1 ou versions ultérieures)macOS 10.14 Mojave (.NET Core 1.1 or later versions)
    • osx.10.14-x64

Pour plus d’informations, consultez Configuration requise pour .NET Core sur macOS.See Prerequisites for .NET Core on macOS for more information.

Voir aussiSee also