.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,,x64armveyaarm64.[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-x64win-x86win-armwin-arm64
- Windows 7/Windows Server 2008 R2
win7-x64win7-x86
- Windows 8.1/Windows Server 2012 R2
win81-x64win81-x86win81-arm
- Windows 10/Windows Server 2016
win10-x64win10-x86win10-armwin10-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 öncelinux-x64RHEL için yerine geçti)rhel.6-x64
- Tizen
tizentizen.4.0.0tizen.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-x64osx.11.0-arm64
Daha fazla bilgi için bkz. .net bağımlılıkları ve gereksinimleri.