Katalog identifikátorů .NET RID

Identifikátor RID je pro identifikátor modulu runtime krátký. Hodnoty RID slouží k identifikaci cílových platforem, ve kterých se aplikace spouští. Jsou používány balíčky .NET k reprezentaci prostředků specifických pro platformu v balíčcích NuGet. Následující hodnoty jsou příklady identifikátorů RID: linux-x64 , ubuntu.14.04-x64 , win7-x64 nebo osx.10.12-x64 . U balíčků s nativními závislostmi Určuje identifikátor RID na kterých platformách se balíček dá obnovit.

V prvku souboru projektu lze nastavit jeden identifikátor RID <RuntimeIdentifier> . V prvku souboru projektu lze definovat více identifikátorů RID jako seznam středníkem oddělených hodnot <RuntimeIdentifiers> . Používají se také prostřednictvím --runtime Možnosti s následujícími příkazy rozhraní .NET CLI:

Identifikátorů RID, která představuje konkrétní operační systémy, se obvykle řídí tímto vzorem: [os].[version]-[architecture]-[additional qualifiers] kde:

  • [os] je moniker operačního systému/platformy. Například, ubuntu.

  • [version] verze operačního systému je ve formátu čísla verze odděleného tečkou ( . ). Například, 15.10.

    • Verze by neměla být marketingová verze, protože často představují více diskrétních verzí operačního systému s různou oblastí rozhraní API platformy.
  • [architecture] je architekturou procesoru. Například: x86 , x64 , arm nebo arm64 .

  • [additional qualifiers] Další rozlišení různých platforem. Příklad: aot.

Graf RID

Graf RID nebo modul runtime Fallback za běhu je seznam identifikátorů ridů, které jsou vzájemně kompatibilní. Identifikátorů RID jsou definované v balíčku Microsoft. NETCore. Platforms . V souboru runtime.js , který se nachází v úložišti, můžete zobrazit seznam podporovaných identifikátorů RID a grafu RID dotnet/runtime . V tomto souboru vidíte, že všechny identifikátorů RID, s výjimkou základní třídy, obsahují "#import" příkaz. Tyto příkazy označují kompatibilní identifikátorů RID.

Když NuGet obnoví balíčky, pokusí se najít přesnou shodu pro zadaný modul runtime. Pokud se nenajde přesná shoda, NuGet se vrátí do grafu, dokud nenajde nejbližší kompatibilní systém podle grafu RID.

V následujícím příkladu je aktuální položka pro osx.10.12-x64 identifikátor RID:

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

Výše uvedené identifikátory RID určují, že osx.10.12-x64 importy osx.10.11-x64 . Takže když NuGet obnoví balíčky, pokusí se najít přesnou shodu osx.10.12-x64 v balíčku. Pokud NuGet nemůže najít konkrétní modul runtime, může obnovit balíčky, které určují osx.10.11-x64 moduly runtime, například.

Následující příklad ukazuje trochu větší graf RID, který je definován také v runtime.js souboru:

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

Všechny identifikátorů RID nakonec mapují zpátky na kořenový any identifikátor RID.

Existují některé okolnosti týkající se identifikátorů RID, které je třeba vzít v úvahu při práci s nimi:

  • Nepokoušejte se analyzovat identifikátorů RID, aby se načetly části součásti.
  • Nevytvářejte identifikátorů RID programově.
  • Použijte identifikátorů RID, které už jsou pro platformu definované.
  • Identifikátorů RID musí být konkrétní, takže nemusíte nic od skutečné hodnoty RID předpokládat.

Použití identifikátorů RID

Aby bylo možné používat identifikátorů RID, musíte zjistit, které identifikátorů RID existují. K platformě se pravidelně přidávají nové hodnoty. Nejnovější a kompletní verzi najdete v runtime.js souboru v dotnet/runtime úložišti.

Přenosné identifikátorů RID jsou hodnoty přidané do grafu RID, které nejsou vázané na konkrétní verzi nebo distribuci operačního systému. Jedná se o upřednostňovanou volbu, zejména při práci s více Linux distribuce, protože většina distribučních identifikátorů RID je mapována na přenosné identifikátorů RID.

Následující seznam obsahuje malou podmnožinu nejběžnějších identifikátorů RID používaných pro každý operační systém.

Identifikátorů RID Windows

Jsou uvedeny pouze běžné hodnoty. Nejnovější a kompletní verzi najdete v runtime.js souboru v dotnet/runtime úložišti.

  • Přenosné
    • 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 10/Windows Server 2016
    • win10-x64
    • win10-x86
    • win10-arm
    • win10-arm64

Další informace najdete v tématu závislosti a požadavky rozhraní .NET.

Linux identifikátorů RID

Jsou uvedeny pouze běžné hodnoty. Nejnovější a kompletní verzi najdete v runtime.js souboru v dotnet/runtime úložišti. Zařízení s distribucí, která nejsou uvedená níže, můžou fungovat s jedním z přenosných identifikátorů RID. Například zařízení Malina Pi, na kterých běží distribuce systému Linux, nejsou uvedená v seznamu mohou být cílem linux-arm .

  • Přenosné
    • linux-x64 (Většina distribucí počítačů, jako jsou CentOS, Debian, Fedora, Ubuntu a deriváty)
    • linux-musl-x64 (Zjednodušené distribuce využívající MUSL jako Alpine Linux)
    • linux-arm (Distribuce systému Linux na ARM, jako je Raspbian v modelu 2 + pro maliny)
    • linux-arm64 (Distribuce systému Linux spuštěná na 64 ARM, jako je Ubuntu Server 64-bit pro malinu Pi Model 3 +)
  • Red Hat Enterprise Linux
    • rhel-x64 (Nahrazeno serverem linux-x64 pro RHEL nad verzí 6)
    • rhel.6-x64
  • Tizen
    • tizen
    • tizen.4.0.0
    • tizen.5.0.0

Další informace najdete v tématu závislosti a požadavky rozhraní .NET.

macOS identifikátorů RID

macOS identifikátorů RID používá starší značku "OSX". Jsou uvedeny pouze běžné hodnoty. Nejnovější a kompletní verzi najdete v runtime.js souboru v dotnet/runtime úložišti.

  • Přenosné
    • osx-x64 (Minimální verze operačního systému je 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,01 Big Sur
    • osx.11.0-x64
    • osx.11.0-arm64

Další informace najdete v tématu závislosti a požadavky rozhraní .NET.

Viz také