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:

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:

NuGet istemcileri aşağıdaki tabloda yer alan çerçeveleri destekler. Eşdeğerler köşeli ayraç [] içinde gösterilir. gibi dotnetbazı araçların bazı dosyalarda kurallı TFM'lerin çeşitlemelerini kullanabileceğini unutmayın. Örneğin, dotnet pack yerine bir .nuspec dosyada netcoreapp2.0kullanı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 .nuspecokunabilirliğ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.