You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/core/rid-catalog.md
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: .NET Runtime Identifier (RID) catalog
3
3
description: Learn about the Runtime Identifier (RID) and how RIDs are used in .NET.
4
-
ms.date: 05/18/2022
4
+
ms.date: 07/11/2022
5
5
ms.topic: reference
6
6
---
7
7
# .NET RID Catalog
@@ -10,7 +10,7 @@ RID is short for *Runtime Identifier*. RID values are used to identify target pl
10
10
They're used by .NET packages to represent platform-specific assets in NuGet packages. The following values are examples of RIDs: `linux-x64`, `ubuntu.14.04-x64`, `win7-x64`, or `osx.10.12-x64`.
11
11
For the packages with native dependencies, the RID designates on which platforms the package can be restored.
12
12
13
-
A single RID can be set in the `<RuntimeIdentifier>` element of your project file. Multiple RIDs can be defined as a semicolon-delimited list in the project file's `<RuntimeIdentifiers>` element. They're also used via the `--runtime` option with the following [.NET CLI commands](./tools/index.md):
13
+
A single RID can be set in the [`<RuntimeIdentifier>`](project-sdk/msbuild-props.md#runtimeidentifier) element of your project file. Multiple RIDs can be defined as a semicolon-delimited list in the project file's [`<RuntimeIdentifiers>`](project-sdk/msbuild-props.md#runtimeidentifiers) element. They're also used via the `--runtime` option with the following [.NET CLI commands](./tools/index.md):
14
14
15
15
-[dotnet build](./tools/dotnet-build.md)
16
16
-[dotnet clean](./tools/dotnet-clean.md)
@@ -26,7 +26,7 @@ RIDs that represent concrete operating systems usually follow this pattern: `[os
26
26
27
27
-`[version]` is the operating system version in the form of a dot-separated (`.`) version number. For example, `15.10`.
28
28
29
-
-The version **shouldn't** be marketing versions, as they often represent multiple discrete versions of the operating system with varying platform API surface area.
29
+
The version **shouldn't** be a marketing version, as marketing versions often represent multiple discrete versions of the operating system with varying platform API surface area.
30
30
31
31
-`[architecture]` is the processor architecture. For example: `x86`, `x64`, `arm`, or `arm64`.
32
32
@@ -68,9 +68,11 @@ All RIDs eventually map back to the root `any` RID.
68
68
There are some considerations about RIDs that you have to keep in mind when working with them:
69
69
70
70
- Don't try to parse RIDs to retrieve component parts.
71
-
- Don't build RIDs programmatically.
72
71
- Use RIDs that are already defined for the platform.
73
72
- The RIDs need to be specific, so don't assume anything from the actual RID value.
Some apps need to compute RIDs programmatically. If so, the computed RIDs must match the catalog exactly, including in casing. RIDs with different casing would cause problems when the OS is case sensitive, for example, Linux, because the value is often used when constructing things like output paths. For example, consider a custom publishing wizard in Visual Studio that relies on information from the solution configuration manager and project properties. If the solution configuration passes an invalid value, for example, `ARM64` instead of `arm64`, it could result in an invalid RID, such as `win-ARM64`.
0 commit comments