标签:
转载至:https://docs.microsoft.com/zh-cn/dotnet/articles/core/rid-catalog
RID is short for Runtime IDentifier. RIDs are used to identify target operating systems where an application or asset (that is, assembly) will run. They look like this: "ubuntu.14.04-x64", "win7-x64", "osx.10.11-x64". For the packages with native dependencies, it will designate on which platforms the package can be restored.
It is important to note that RIDs are really opaque strings. This means that they have to match exactly for operations using them to work. As an example, let us consider the case of Elementary OS, which is a straightforward clone of Ubuntu 14.04. Although .NET Core and CLI work on top of that version of Ubuntu, if you try to use them on Elementary OS without any modifications, the restore operation for any package will fail. This is because we currently (May 3rd, 2016) don‘t have a RID that designates Elementary OS as a platform.
RIDs that represent concrete operating systems should be of the form: [os].[version]-[arch]
where:
[os]
is the operating system moniker, for example, win
[version]
is the operating system version in the form of a dot (.
) separated version number, for example, 10.1511
, accurate enough to reasonably enable assets to target operating system platform APIs represented by that version.[arch]
is the processor architecture, for example, x86
, x64
, arm
, arm64
, etc.
win.10-x64
The RID graph is defined in a package called Microsoft.NETCore.Platforms
in a file calledruntime.json
which you can see on the CoreFX repo. If you use this file, you will notice that some of the RIDs have an "#import"
statement in them. These statements are compatibility statements. That means that a RID that has an imported RID in it, can be a target for restoring packages for that RID. Slightly confusing, but let‘s look at an example. Let‘s take a look at macOS:
"osx.10.11-x64": {
"#import": [ "osx.10.11", "osx.10.10-x64" ]
}
The above RID specifies that osx.10.11-x64
imports osx.10.10-x64
. This means that when restoring packages, NuGet will be able to restore packages that specify that they need osx.10.10-x64
on osx.10.11-x64
.
A slightly bigger example RID graph:
win.10.1511-x64
win.10.1511
win.10-x64
win.10
win.6.3.9200-x64
win.6.3-x64
win.6.3
win.6.3.9200
win.6.2.9200-x64
win.6.2.9200
win.6.1.7600-x64
win.6.1.7600
win.6.1-x64
win.6.1
win
any
All RIDs eventually map back to the root any
RID.
Although they look easy enough to use, there are some special things about RIDs that you have to keep in mind when working with them:
In order to use RIDs, you have to know which RIDs there are. This document lists out the currently supported RIDs in .NET Core. Please be aware that this document is getting updated regularly as new RIDs are added to the platform. If you wish to check if new ones are added, please check back here.
We are working towards getting this information into a more interactive form. When that happens, this page will be updated to point to that tool and/or its usage documentation.
win7-x64
win7-x86
win8-x64
win8-x86
win10-x64
win10-x86
rhel.7.0-x64
rhel.7.1-x64
rhel.7.2-x64
ubuntu.14.04-x64
ubuntu.14.10-x64
ubuntu.15.04-x64
centos.7-x64
centos.7.1-x64
debian.8-x64
debian.8.2-x64
linuxmint.17-x64
linuxmint.17.1-x64
linuxmint.17.2-x64
linuxmint.17.3-x64
osx.10.10-x64
osx.10.11-x64
.NET Core Runtime IDentifier (RID) catalog
标签:
原文地址:http://www.cnblogs.com/frankyou/p/5630998.html