Wykaz identyfikatorów RID platformy .NET

Identyfikator środowiska uruchomieniowego jest krótki dla identyfikatora środowiska uruchomieniowego. Wartości identyfikatorów RID służą do identyfikowania platform docelowych, na których działa aplikacja. Są one używane przez pakiety .NET do reprezentowania zasobów specyficznych dla platformy w pakietach NuGet. Poniżej przedstawiono przykłady identyfikatorów ZAREZERWOWANYch: linux-x64, ubuntu.14.04-x64, win7-x64lub osx.10.12-x64. W przypadku pakietów z zależnościami natywnymi identyfikator RID wyznacza platformy, na których można przywrócić pakiet.

Pojedynczy identyfikator RID można ustawić w <RuntimeIdentifier> elemecie pliku projektu. Wiele identyfikatorów RD można zdefiniować jako rozdzieloną średnikami listę w elemecie pliku <RuntimeIdentifiers> projektu. Są one również używane za pośrednictwem opcji z następującymi poleceniami interfejsu wiersza polecenia platformy .NET:--runtime

Identyfikatory ZAREZERWOWANE reprezentujące konkretne systemy operacyjne zwykle są zgodne z tym wzorcem: gdzie: [os].[version]-[architecture]-[additional qualifiers]

  • [os] jest monikerem systemu operacyjnego/platformy. Na przykład ubuntu.

  • [version] jest wersją systemu operacyjnego w postaci numeru wersji rozdzielanej kropką (.). Na przykład 15.10.

    • Wersja nie powinna być wersjami marketingowymi, ponieważ często reprezentują one wiele dyskretnych wersji systemu operacyjnego z różnymi obszarami powierzchni interfejsu API platformy.
  • [architecture] jest architekturą procesora. Na przykład: x86, , armx64lub arm64.

  • [additional qualifiers] dodatkowo rozróżniać różne platformy. Na przykład: aot.

Wykres RID

Wykres RID lub wykres rezerwowy środowiska uruchomieniowego to lista identyfikatorów ZAREZERWOWANYch, które są ze sobą zgodne. Identyfikatory ZAREZERWOWANE są definiowane w pakiecie Microsoft.NETCore.Platforms . W pliku runtime.json , który znajduje się w dotnet/runtime repozytorium, można wyświetlić listę obsługiwanych identyfikatorów IDENTYFIKATORów RID i wykres rid. W tym pliku widać, że wszystkie identyfikatory ZAREZERWOWANE, z wyjątkiem podstawowego, zawierają instrukcję "#import" . Te instrukcje wskazują zgodne identyfikatory ZAREZERWOWANE.

Gdy NuGet przywraca pakiety, próbuje znaleźć dokładne dopasowanie określonego środowiska uruchomieniowego. Jeśli dokładne dopasowanie nie zostanie znalezione, NuGet powróci do grafu, dopóki nie znajdzie najbliższego zgodnego systemu zgodnie z grafem RID.

Poniższy przykład to rzeczywisty wpis dla identyfikatora osx.10.12-x64 RID:

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

Powyższy identyfikator RID określa, że osx.10.12-x64 importuje osx.10.11-x64element . W związku z tym, gdy NuGet przywraca pakiety, próbuje znaleźć dokładne dopasowanie dla osx.10.12-x64 pakietu. Jeśli NuGet nie może odnaleźć określonego środowiska uruchomieniowego, może przywrócić pakiety określające osx.10.11-x64 na przykład środowiska uruchomieniowe.

W poniższym przykładzie pokazano nieco większy graf RID zdefiniowany również w pliku runtime.json :

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

Wszystkie identyfikatory ZAREZERWOWANE ostatecznie są mapowane z powrotem do głównego any identyfikatora RID.

Podczas pracy z nimi należy wziąć pod uwagę pewne zagadnienia dotyczące identyfikatorów ZAREZERWOWANYch:

  • Nie próbuj analizować identyfikatorów ZAREZERWOWANYch w celu pobrania części składników.
  • Nie kompiluj identyfikatorów RID programowo.
  • Użyj identyfikatorów RID, które są już zdefiniowane dla platformy.
  • Identyfikatory ZAREZERWOWANE muszą być specyficzne, więc nie zakładaj niczego z rzeczywistej wartości identyfikatora RID.

Używanie identyfikatorów RID

Aby móc używać identyfikatorów RID, musisz wiedzieć, które identyfikatory ZAREZERWOWANE istnieją. Nowe wartości są regularnie dodawane do platformy. Aby uzyskać najnowszą i pełną wersję, zobacz plik runtime.json w dotnet/runtime repozytorium.

Identyfikatory ZAREZERWOWANE, które nie są powiązane z określoną wersją lub dystrybucją systemu operacyjnego, są preferowanym wyborem, zwłaszcza w przypadku obsługi wielu dystrybucji dystrybucji, ponieważ większość identyfikatorów ZAREZERWOWANYch dystrybucji jest mapowana na identyfikatory ZAREZERWOWANE specyficzne dla dystrybucji.

Na poniższej liście przedstawiono niewielki podzestaw najczęściej używanych identyfikatorów ZAREZERWOWANYch dla każdego systemu operacyjnego.

identyfikatory ZAREZERWOWANE Windows

Wyświetlane są tylko typowe wartości. Aby uzyskać najnowszą i pełną wersję, zobacz plik runtime.json w dotnet/runtime repozytorium.

  • Windows, a nie specyficzne dla wersji
    • win-x64
    • win-x86
    • win-arm
    • win-arm64
  • Windows 7/ Windows Server 2008 R2
    • win7-x64
    • win7-x86
  • Windows 8.1/Windows Server 2012 R2
    • win81-x64
    • win81-x86
    • win81-arm
  • Windows 11/ Windows Server 2022 / Windows 10 / Windows Server 2016
    • win10-x64
    • win10-x86
    • win10-arm
    • win10-arm64

Nie ma win11 identyfikatorów RID; użyj win10 identyfikatorów ZAREZERWOWANYch dla Windows 11. Aby uzyskać więcej informacji, zobacz .NET dependencies and requirements (Zależności i wymagania dotyczące platformy .NET).

Identyfikatory ZAREZERWOWANE systemu Linux

Wyświetlane są tylko typowe wartości. Aby uzyskać najnowszą i pełną wersję, zobacz plik runtime.json w dotnet/runtime repozytorium. Urządzenia z dystrybucją, która nie jest wymieniona poniżej, mogą współpracować z jednym z identyfikatorów ZAREZERWOWANYch specyficznych dla dystrybucji. Na przykład urządzenia Raspberry Pi z dystrybucją systemu Linux, których nie ma na liście, mogą być objęte programem linux-arm.

  • Linux, a nie specyficzny dla dystrybucji
    • linux-x64 (Większość dystrybucji komputerów, takich jak CentOS, Debian, Fedora, Ubuntu i pochodne)
    • linux-musl-x64 (Uproszczone dystrybucje przy użyciu musl , takich jak Alpine Linux)
    • linux-arm (Dystrybucje systemu Linux działające w usłudze ARM, takie jak Raspbian w urządzeniu Raspberry Pi Model 2+)
    • linux-arm64 (Dystrybucje systemu Linux działające w 64-bitowej usłudze ARM, takie jak Ubuntu Server 64-bitowy w urządzeniu Raspberry Pi Model 3+)
  • Red Hat Enterprise Linux
    • rhel-x64 (Zastąpione przez linux-x64 dla RHEL powyżej wersji 6)
    • rhel.6-x64
  • Tizen
    • tizen
    • tizen.4.0.0
    • tizen.5.0.0

Aby uzyskać więcej informacji, zobacz .NET dependencies and requirements (Zależności i wymagania dotyczące platformy .NET).

identyfikatory ZAREZERWOWANE macOS

macOS identyfikatory ZAREZERWOWANE używają starszego znakowania "OSX". Wyświetlane są tylko typowe wartości. Aby uzyskać najnowszą i pełną wersję, zobacz plik runtime.json w dotnet/runtime repozytorium.

  • macOS, a nie specyficzne dla wersji
    • osx-x64(Minimalna wersja systemu operacyjnego to macOS 10.12 Sierra)
  • macOS 10.10 Yosemite
    • osx.10.10-x64
  • macOS 10.11 El Capitan
    • osx.10.11-x64
  • macOS 10.12 Sierra
    • osx.10.12-x64
  • macOS 10.13 High Sierra
    • osx.10.13-x64
  • macOS 10.14 Mojave
    • osx.10.14-x64
  • macOS 10.15 Catalina
    • osx.10.15-x64
  • macOS 11.0 Big Sur
    • osx.11.0-x64
    • osx.11.0-arm64
  • macOS 12 Monterey
    • osx.12-x64
    • osx.12-arm64

Aby uzyskać więcej informacji, zobacz .NET dependencies and requirements (Zależności i wymagania dotyczące platformy .NET).

identyfikatory ZAREZERWOWANE iOS

Wyświetlane są tylko typowe wartości. Aby uzyskać najnowszą i pełną wersję, zobacz plik runtime.json w dotnet/runtime repozytorium.

  • iOS, a nie specyficzne dla wersji
    • ios-arm64
  • iOS 10
    • ios.10-arm64
  • iOS 11
    • ios.11-arm64
  • iOS 12
    • ios.12-arm64
  • iOS 13
    • ios.13-arm64
  • iOS 14
    • ios.14-arm64
  • iOS 15
    • ios.15-arm64

Android identyfikatory RID

Wyświetlane są tylko typowe wartości. Aby uzyskać najnowszą i kompletną wersję, zobacz plik runtime.json w dotnet/runtime repozytorium.

  • Android, a nie specyficzne dla wersji
    • android-arm64
  • Android 21
    • android.21-arm64
  • Android 22
    • android.22-arm64
  • Android 23
    • android.23-arm64
  • Android 24
    • android.24-arm64
  • Android 25
    • android.25-arm64
  • Android 26
    • android.26-arm64
  • Android 27
    • android.27-arm64
  • Android 28
    • android.28-arm64
  • Android 29
    • android.29-arm64
  • Android 30
    • android.30-arm64
  • Android 31
    • android.31-arm64
  • Android 32
    • android.32-arm64

Zobacz też