.NET RID kataloğu

Çalışma zamanı tanımlayıcısı için RID kısadır. RID değerleri, uygulamanın çalıştığı hedef platformları belirlemek için kullanılır. .net paketleri tarafından NuGet paketlerindeki platforma özgü varlıkları temsil etmek için kullanılır. Aşağıdaki değerler, rids örnekleri: linux-x64 , ubuntu.14.04-x64 , win7-x64 veya osx.10.12-x64 . Yerel bağımlılıklara sahip paketler için RID, paketin geri yüklenebileceği platformları belirler.

Tek bir RID, <RuntimeIdentifier> proje dosyanızın öğesinde ayarlanabilir. Çoklu RID 'Ler, proje dosyasının öğesinde noktalı virgülle ayrılmış bir liste olarak tanımlanabilir <RuntimeIdentifiers> . Bunlar ayrıca, --runtime aşağıdaki .net CLI komutlarıylaseçeneği aracılığıyla da kullanılır:

Somut işletim sistemlerini temsil eden RID 'Ler genellikle şu düzene uyar: [os].[version]-[architecture]-[additional qualifiers] burada:

  • [os] işletim/platform sistem adıdır. Örneğin, ubuntu.

  • [version] , bir noktayla ayrılmış () sürüm numarası biçimindeki işletim sistemi sürümüdür . . Örneğin, 15.10.

    • Sürüm, genellikle farklı platform API yüzey alanı ile birlikte işletim sisteminin birden fazla ayrı sürümünü temsil ettiğinden, Pazarlama sürümü olmamalıdır .
  • [architecture] işlemci mimarisidir. Örneğin: x86 ,, x64 arm veya arm64 .

  • [additional qualifiers] farklı platformları daha da birbirinden ayırt edin. Örneğin: aot.

RID grafiği

RID Graf veya çalışma zamanı geri dönüş grafiği, birbirleriyle uyumlu RID 'lerin bir listesidir. RID 'Ler, Microsoft. NETCore. Platform paketinde tanımlanır. Desteklenen RID 'lerin ve RID grafiğinin listesini depoda bulunan Runtime. JSON dosyasında görebilirsiniz dotnet/runtime . Bu dosyada, temel öğe hariç tüm RID 'lerin bir ekstre içerdiğini görebilirsiniz "#import" . Bu deyimler, uyumlu RID 'Ler gösterir.

NuGet paketleri geri yüklediğinde, belirtilen çalışma zamanı için tam bir eşleşme bulmaya çalışır. tam eşleşme bulunamazsa, rıd grafiğine göre en yakın uyumlu sistemi bulana kadar grafiği geri yönlendirir NuGet.

Aşağıdaki örnek, RID için gerçek giriştir osx.10.12-x64 :

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

Yukarıdaki RID, osx.10.12-x64 içeri aktarmaların belirtir osx.10.11-x64 . bu nedenle, paketleri geri yüklerken NuGet pakette tam eşleşmeyi bulmaya çalışır osx.10.12-x64 . NuGet belirli çalışma zamanını bulamazsa, örneğin çalışma zamanlarını belirten paketleri geri yükleyebilir osx.10.11-x64 .

Aşağıdaki örnek, çalışma zamanı. JSON dosyasında de tanımlanan biraz daha büyük bir RID grafiği göstermektedir:

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

Tüm RID 'Ler sonunda kök RID 'e geri eşlenir any .

RID 'Ler hakkında, bunlarla çalışırken göz önünde bulundurmanız gereken bazı noktalar vardır:

  • Bileşen parçalarını almak için RID ayrıştırmaya çalışmayın.
  • Program aracılığıyla RID oluşturma.
  • Platform için önceden tanımlanmış olan RID 'leri kullanın.
  • RID 'Lerin özel olması gerekir, bu nedenle gerçek RID değerinden herhangi bir şeyi varsaymayın.

RID 'leri kullanma

RID 'leri kullanabilmeniz için hangi RID 'Lerin mevcut olduğunu bilmeniz gerekir. Yeni değerler platforma düzenli olarak eklenir. En son ve tüm sürüm için depodaki Runtime. JSON dosyasına bakın dotnet/runtime .

Belirli bir sürüme veya işletim sistemi dağıtımına bağlı olmayan RID 'ler, özellikle birden çok Linux ile ilgilenirken tercih edilen seçenektir, ancak çoğu dağıtım merkezi, dağıtıma özgü olmayan RID 'Ler ile eşleştirilir.

Aşağıdaki liste, her bir işletim sistemi için kullanılan en yaygın RID 'lerin küçük bir alt kümesini gösterir.

Windows RID

Yalnızca ortak değerler listelenir. En son ve tüm sürüm için depodaki Runtime. JSON dosyasına bakın dotnet/runtime .

  • Windows, sürüme özgü değil
    • 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

Daha fazla bilgi için bkz. .net bağımlılıkları ve gereksinimleri.

Linux RID 'leri

Yalnızca ortak değerler listelenir. En son ve tüm sürüm için depodaki Runtime. JSON dosyasına bakın dotnet/runtime . Aşağıda listelenmeyen bir dağıtımı çalıştıran cihazlar, dağıtıma özgü olmayan RID 'Ler ile çalışabilir. Örneğin, listelenmemiş bir Linux dağıtımını çalıştıran Raspberry PI cihazları ile hedeflenebilir linux-arm .

  • Linux, dağıtıma özgü değil
    • linux-x64 (CentOS, deler, Fedora, Ubuntu ve türetmeler gibi masaüstü dağıtımlarını en iyi şekilde)
    • linux-musl-x64 (Alp Linux gibi MUSL kullanan hafif dağıtımlar)
    • linux-arm (Raspbian gibi ARM üzerinde çalışan Linux dağıtımları Raspberry PI model 2 +)
    • linux-arm64 (Raspberry PI model 3 + üzerinde Ubuntu Server 64-bit gibi 64 bit ARM üzerinde çalışan Linux dağıtımları
  • Red Hat Enterprise Linux
    • rhel-x64 (X sürüm 6 ' dan önce linux-x64 RHEL için yerine geçti)
    • rhel.6-x64
  • Tizen
    • tizen
    • tizen.4.0.0
    • tizen.5.0.0

Daha fazla bilgi için bkz. .net bağımlılıkları ve gereksinimleri.

macOS RIDs

macOS 'Ler eski "OSX" markasını kullanır. Yalnızca ortak değerler listelenir. En son ve tüm sürüm için depodaki Runtime. JSON dosyasına bakın dotnet/runtime .

  • macOS, sürüme özgü değil
    • osx-x64 (En düşük işletim sistemi sürümü 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

Daha fazla bilgi için bkz. .net bağımlılıkları ve gereksinimleri.

Ayrıca bkz.