Hedef çerçeveler
NuGet, bir paketin çerçeveye bağımlı bileşenlerini özel olarak tanımlamak ve yalıtmak için çeşitli yerlerde hedef çerçeve başvurularını kullanır:
- proje dosyası: SDK stilindeki projeler için .csproj hedef çerçeve başvurularını içerir.
- .nuspec bildirimi: Paket, projenin hedef çerçevesine bağlı olarak projeye eklenecek farklı paketleri gösterebilir.
- .nupkg klasör adı: Bir paketin
lib
klasörünün içindeki klasörler hedef çerçeveye göre adlandırılabilir; her biri dll'leri ve bu çerçeveye uygun diğer içerikleri içerir. - packages.config:
targetframework
Bağımlılığın özniteliği, yüklenecek paketin değişkenini belirtir.
Not
NuGet tüm modern .NET hedef çerçevelerini destekler:
- En son hedef çerçevelerin listesi için SDK stili projelerde hedef çerçeveler belgelerine bakın.
Desteklenen çerçeveler
Çerçeveye genellikle kısa bir hedef çerçeve adı veya TFM tarafından başvurulur. .NET Standard'da bu, birden çok çerçeveye tek bir başvuruya izin vermek için TxM'de de genelleştirilir.
Not
Aşağıdaki tabloları hesaplayan NuGet istemci kaynak kodu aşağıdaki konumlarda bulunur:
- Desteklenen çerçeve adları: FrameworkConstants.cs
- Çerçeve önceliği ve eşlemesi: DefaultFrameworkMappings.cs
NuGet istemcileri aşağıdaki tabloda yer alan çerçeveleri destekler. Eşdeğerler köşeli ayraç [] içinde gösterilir. gibi dotnet
bazı araçların bazı dosyalarda kurallı TFM'lerin çeşitlemelerini kullanabileceğini unutmayın. Örneğin, dotnet pack
yerine bir .nuspec
dosyada netcoreapp2.0
kullanır.NETCoreApp2.0
. Çeşitli NuGet istemci araçları bu çeşitlemeleri düzgün bir şekilde işler, ancak dosyaları doğrudan düzenlerken her zaman kurallı TFM'ler kullanmanız gerekir.
Veri Akışı Adı | Kısaltma | TFM'ler/TxM'ler |
---|---|---|
.NET Framework | net | net11 |
net20 | ||
net35 | ||
net40 | ||
net403 | ||
net45 | ||
net451 | ||
net452 | ||
net46 | ||
net461 | ||
net462 | ||
net47 | ||
net471 | ||
net472 | ||
net48 | ||
Microsoft Store (Windows Mağazası) | netcore | netcore [netcore45] |
netcore45 [win, win8] | ||
netcore451 [win81] | ||
netcore50 | ||
.NET MicroFramework | netmf | netmf |
Windows | Kazanmak | win [win8, netcore45] |
win8 [netcore45, win] | ||
win81 [netcore451] | ||
win10 (Windows 10 Platformu tarafından desteklenmez) | ||
Silverlight | sl | sl4 |
sl5 | ||
Windows Telefon (SL) | Wp | wp [wp7] |
wp7 | ||
wp75 | ||
wp8 | ||
wp81 | ||
Windows Telefon (UWP) | wpa81 | |
Evrensel Windows Platformu | Uçar | uap [uap10.0] |
uap10.0 | ||
uap10.0.xxxxx (burada 10.0.xxxxx, tüketen uygulamanın hedef platform min sürümüdür) | ||
.NET Standard | netstandard | netstandard1.0 |
netstandard1.1 | ||
netstandard1.2 | ||
netstandard1.3 | ||
netstandard1.4 | ||
netstandard1.5 | ||
netstandard1.6 | ||
netstandard2.0 | ||
netstandard2.1 | ||
.NET 5+ (ve .NET Core) | netcoreapp | netcoreapp1.0 |
netcoreapp1.1 | ||
netcoreapp2.0 | ||
netcoreapp2.1 | ||
netcoreapp2.2 | ||
netcoreapp3.0 | ||
netcoreapp3.1 | ||
net | net5.0 | |
net6.0 | ||
net7.0 | ||
net8.0 | ||
Tizen | tizen | tizen3 |
tizen4 | ||
Yerel | yerel | yerel |
Kullanım dışı çerçeveler
Aşağıdaki çerçeveler kullanım dışıdır. Bu çerçeveleri hedefleyen paketler belirtilen değişimlere geçirilmelidir.
Kullanım dışı çerçeve | Değiştirme |
---|---|
aspnet50 | netcoreapp |
aspnetcore50 | |
dnxcore50 | |
Dnx | |
dnx45 | |
dnx451 | |
dnx452 | |
dotnet | netstandard |
dotnet50 | |
dotnet51 | |
dotnet52 | |
dotnet53 | |
dotnet54 | |
dotnet55 | |
dotnet56 | |
winrt | Kazanmak |
Öncelik
Bir dizi çerçeve birbiriyle ilişkilidir ve birbiriyle uyumludur, ancak eşdeğer olması gerekmez:
Çerçeve | Kullanabilir |
---|---|
uap (Evrensel Windows Platformu) | win81 |
wpa81 | |
netcore50 | |
win (Microsoft Store) | winrt |
NET Standard
.NET Standard , ikili uyumlu çerçeveler arasındaki başvuruları basitleştirerek tek bir hedef çerçevenin diğerlerinin birleşimine başvurmasını sağlar. (Arka plan için bkz . .NET Primer.)
NuGet En Yakın ÇerçeveYi Al Aracı, projenin çerçevesine göre bir paketteki birçok kullanılabilir çerçeve varlığından bir çerçeve seçmek için NuGet'in ne kullandığının benzetimini oluşturur.
Ad dotnet
dizileri NuGet 3.3 ve önceki sürümlerde kullanılmalıdır; netstandard
v3.4 ve sonraki sürümlerde takma ad söz dizimi kullanılmalıdır.
Taşınabilir Sınıf Kitaplıkları
Uyarı
PCL'ler önerilmez. PCL'ler destekleniyor olsa da, paket yazarlarının bunun yerine netstandard'ı desteklemesi gerekir. .NET Platform Standardı, PCL'lerin evrimidir ve taşınabilir-a+b+c adlarına benzer statik bir kitaplığa bağlı olmayan tek bir ad kullanarak platformlar arasında ikili taşınabilirliği temsil eder.
Birden çok alt-hedef çerçeveye başvuran bir hedef çerçeve tanımlamak için, portable
başvuruda bulunılan çerçeveler listesine ön ek eklemek için kullanılan anahtar sözcük kullanılır. Doğrudan derlenmeyen ek çerçeveleri yapay olarak eklemekten kaçının çünkü bu çerçevelerde istenmeyen yan etkilere yol açabilir.
Üçüncü taraflar tarafından tanımlanan ek çerçeveler, bu şekilde erişilebilen diğer ortamlarla uyumluluk sağlar. Buna ek olarak, bu ilişkili çerçeve Profile#
birleşimlerine olarak başvurmak için kullanılabilen kısaltma profil numaraları vardır, ancak bu, ve klasörlerinin .nuspec
okunabilirliğini azalttığı için bu sayıların kullanılması önerilen bir uygulama değildir.
Profil # | Çerçeveler | Tam adı | .NET Standard |
---|---|---|---|
Profil2 | . NETFramework 4.0 | portable-net40+win8+sl4+wp7 | |
Windows 8.0 | |||
Silverlight 4.0 | |||
Windows Telefon 7.0 | |||
Profil3 | . NETFramework 4.0 | portable-net40+sl4 | |
Silverlight 4.0 | |||
Profil4 | . NETFramework 4.5 | portable-net45+sl4+win8+wp7 | |
Silverlight 4.0 | |||
Windows 8.0 | |||
Windows Telefon 7.0 | |||
Profil5 | . NETFramework 4.0 | portable-net40+win8 | |
Windows 8.0 | |||
Profil6 | . NETFramework 4.0.3 | portable-net403+win8 | |
Windows 8.0 | |||
Profil7 | . NETFramework 4.5 | taşınabilir-net45+win8 | netstandard1.1 |
Windows 8.0 | |||
Profil14 | . NETFramework 4.0 | portable-net40+sl5 | |
Silverlight 5.0 | |||
Profil18 | . NETFramework 4.0.3 | portable-net403+sl4 | |
Silverlight 4.0 | |||
Profil19 | . NETFramework 4.0.3 | portable-net403+sl5 | |
Silverlight 5.0 | |||
Profil23 | . NETFramework 4.5 | portable-net45+sl4 | |
Silverlight 4.0 | |||
Profil24 | . NETFramework 4.5 | taşınabilir-net45+sl5 | |
Silverlight 5.0 | |||
Profil31 | Windows 8.1 | taşınabilir-win81+wp81 | netstandard1.0 |
Windows Telefon 8.1 (SL) | |||
Profil32 | Windows 8.1 | taşınabilir-win81+wpa81 | netstandard1.2 |
Windows Telefon 8.1 (UWP) | |||
Profil36 | . NETFramework 4.0 | portable-net40+sl4+win8+wp8 | |
Silverlight 4.0 | |||
Windows 8.0 | |||
Windows Telefon 8.0 (SL) | |||
Profil37 | . NETFramework 4.0 | portable-net40+sl5+win8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Profil41 | . NETFramework 4.0.3 | portable-net403+sl4+win8 | |
Silverlight 4.0 | |||
Windows 8.0 | |||
Profil42 | . NETFramework 4.0.3 | portable-net403+sl5+win8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Profil44 | . NETFramework 4.5.1 | taşınabilir-net451+win81 | netstandard1.2 |
Windows 8.1 | |||
Profil46 | . NETFramework 4.5 | taşınabilir-net45+sl4+win8 | |
Silverlight 4.0 | |||
Windows 8.0 | |||
Profil47 | . NETFramework 4.5 | portable-net45+sl5+win8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Profil49 | . NETFramework 4.5 | portable-net45+wp8 | netstandard1.0 |
Windows Telefon 8.0 (SL) | |||
Profil78 | . NETFramework 4.5 | taşınabilir-net45+win8+wp8 | netstandard1.0 |
Windows 8.0 | |||
Windows Telefon 8.0 (SL) | |||
Profil84 | Windows Telefon 8.1 | taşınabilir-wp81+wpa81 | netstandard1.0 |
Windows Telefon 8.1 (UWP) | |||
Profil88 | . NETFramework 4.0 | portable-net40+sl4+win8+wp75 | |
Silverlight 4.0 | |||
Windows 8.0 | |||
Windows Telefon 7.5 | |||
Profil92 | . NETFramework 4.0 | portable-net40+win8+wpa81 | |
Windows 8.0 | |||
Windows Telefon 8.1 (UWP) | |||
Profil95 | . NETFramework 4.0.3 | portable-net403+sl4+win8+wp7 | |
Silverlight 4.0 | |||
Windows 8.0 | |||
Windows Telefon 7.0 | |||
Profil96 | . NETFramework 4.0.3 | portable-net403+sl4+win8+wp75 | |
Silverlight 4.0 | |||
Windows 8.0 | |||
Windows Telefon 7.5 | |||
Profil102 | . NETFramework 4.0.3 | portable-net403+win8+wpa81 | |
Windows 8.0 | |||
Windows Telefon 8.1 (UWP) | |||
Profil104 | . NETFramework 4.5 | taşınabilir-net45+sl4+win8+wp75 | |
Silverlight 4.0 | |||
Windows 8.0 | |||
Windows Telefon 7.5 | |||
Profil111 | . NETFramework 4.5 | taşınabilir-net45+win8+wpa81 | netstandard1.1 |
Windows 8.0 | |||
Windows Telefon 8.1 (UWP) | |||
Profil136 | . NETFramework 4.0 | portable-net40+sl5+win8+wp8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Windows Telefon 8.0 (SL) | |||
Profil143 | . NETFramework 4.0.3 | portable-net403+sl4+win8+wp8 | |
Silverlight 4.0 | |||
Windows 8.0 | |||
Windows Telefon 8.0 (SL) | |||
Profil147 | . NETFramework 4.0.3 | portable-net403+sl5+win8+wp8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Windows Telefon 8.0 (SL) | |||
Profil151 | NETFramework 4.5.1 | portable-net451+win81+wpa81 | netstandard1.2 |
Windows 8.1 | |||
Windows Telefon 8.1 (UWP) | |||
Profil154 | . NETFramework 4.5 | portable-net45+sl4+win8+wp8 | |
Silverlight 4.0 | |||
Windows 8.0 | |||
Windows Telefon 8.0 (SL) | |||
Profil157 | Windows 8.1 | taşınabilir-win81+wp81+wpa81 | netstandard1.0 |
Windows Telefon 8.1 (SL) | |||
Windows Telefon 8.1 (UWP) | |||
Profil158 | . NETFramework 4.5 | portable-net45+sl5+win8+wp8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Windows Telefon 8.0 (SL) | |||
Profil225 | . NETFramework 4.0 | portable-net40+sl5+win8+wpa81 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Windows Telefon 8.1 (UWP) | |||
Profil240 | . NETFramework 4.0.3 | portable-net403+sl5+win8+wpa8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Windows Telefon 8.1 (UWP) | |||
Profil255 | . NETFramework 4.5 | portable-net45+sl5+win8+wpa81 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Windows Telefon 8.1 (UWP) | |||
Profil259 | . NETFramework 4.5 | portable-net45+win8+wpa81+wp8 | netstandard1.0 |
Windows 8.0 | |||
Windows Telefon 8.1 (UWP) | |||
Windows Telefon 8.0 (SL) | |||
Profil328 | . NETFramework 4.0 | portable-net40+sl5+win8+wpa81+wp8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Windows Telefon 8.1 (UWP) | |||
Windows Telefon 8.0 (SL) | |||
Profil336 | . NETFramework 4.0.3 | portable-net403+sl5+win8+wpa81+wp8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Windows Telefon 8.1 (UWP) | |||
Windows Telefon 8.0 (SL) | |||
Profil344 | . NETFramework 4.5 | portable-net45+sl5+win8+wpa81+wp8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Windows Telefon 8.1 (UWP) | |||
Windows Telefon 8.0 (SL) |
Ayrıca, Xamarin'i hedefleyen NuGet paketleri ek Xamarin tanımlı çerçeveler kullanabilir. Bkz . Xamarin için NuGet paketleri oluşturma.
Veri Akışı Adı | Açıklama | .NET Standard |
---|---|---|
monoandroid | Android işletim sistemi için Mono Desteği | netstandard1.4 |
monotouch | iOS için Mono Desteği | netstandard1.4 |
monomac | OSX için Mono Desteği | netstandard1.4 |
xamarinios | iOS için Xamarin desteği | netstandard1.4 |
xamarinmac | Mac için Xamarin'i destekler | netstandard1.4 |
xamarinpsthree | Playstation 3'te Xamarin desteği | netstandard1.4 |
xamarinpsfour | Playstation 4'te Xamarin desteği | netstandard1.4 |
xamarinpsvita | PS Vita'da Xamarin desteği | netstandard1.4 |
xamarinwatchos | watch işletim sistemi için Xamarin | netstandard1.4 |
xamarintvos | TV işletim sistemi için Xamarin | netstandard1.4 |
xamarinxboxthreesixty | XBox 360 için Xamarin | netstandard1.4 |
xamarinxboxone | XBox One için Xamarin | netstandard1.4 |
Not
Stephen Cleary, desteklenen PCL'leri listeleyen ve .NET'teki Framework profillerini içeren gönderisinde bulabileceğiniz bir araç oluşturdu.