Udostępnij za pośrednictwem


Platformy docelowe

NuGet używa odwołań do platform docelowych w różnych miejscach, aby w szczególności identyfikować i izolować składniki zależne od struktury pakietu:

  • plik projektu: w przypadku projektów w stylu zestawu SDK plik csproj zawiera odwołania do platformy docelowej.
  • Manifest .nuspec: pakiet może wskazywać różne pakiety, które mają być uwzględnione w projekcie w zależności od struktury docelowej projektu.
  • Nazwa folderu .nupkg: foldery w folderze pakietu lib mogą być nazwane zgodnie z platformą docelową, z których każda zawiera biblioteki DLL i inną zawartość odpowiednią dla tej struktury.
  • packages.config: targetframework atrybut zależności określa wariant pakietu do zainstalowania.

Uwaga

Pakiet NuGet obsługuje wszystkie nowoczesne platformy docelowe platformy .NET:

Obsługiwane struktury

Struktura jest zwykle przywoływała krótka nazwa platformy docelowej lub TFM. W programie .NET Standard jest to również uogólnione do TxM , aby umożliwić pojedyncze odwołanie do wielu platform.

Uwaga

Kod źródłowy klienta NuGet, który oblicza poniższe tabele, znajduje się w następujących lokalizacjach:

Klienci NuGet obsługują struktury w poniższej tabeli. Odpowiedniki są wyświetlane w nawiasach []. Należy pamiętać, że niektóre narzędzia, takie jak dotnet, mogą używać odmian kanonicznych programu TFM w niektórych plikach. Na przykład dotnet pack używa elementu .NETCoreApp2.0 w .nuspec pliku, a nie netcoreapp2.0. Różne narzędzia klienckie NuGet obsługują te odmiany prawidłowo, ale zawsze należy używać kanonicznych programów TFM podczas bezpośredniej edycji plików.

Nazwisko Skrót TFMs/TxMs
.NET Framework net net11
net20
net35
net40
net403
net45
net451
net452
net46
net461
net462
net47
net471
net472
net48
Microsoft Store (Sklep Windows) netcore netcore [netcore45]
netcore45 [win, win8]
netcore451 [win81]
netcore50
Mikroframework platformy .NET netmf netmf
Windows Wygrać win [win8, netcore45]
win8 [netcore45, win]
win81 [netcore451]
win10 (nieobsługiwana przez platformę Windows 10)
Silverlight sl sl4
sl5
Telefon systemu Windows (SL) Wp wp [wp7]
wp7
wp75
wp8
wp81
Windows Telefon (UWP) wpa81
Platforma uniwersalna systemu Windows Uap uap [uap10.0]
uap10.0
uap10.0.xxxxx (gdzie 10.0.xxxxx to docelowa minimalna wersja aplikacji zużywanej)
.NET Standard netstandard netstandard1.0
netstandard1.1
netstandard1.2
netstandard1.3
netstandard1.4
netstandard1.5
netstandard1.6
netstandard2.0
netstandard2.1
.NET 5+ (i .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
Macierzyste natywne natywne

Przestarzałe struktury

Następujące struktury są przestarzałe. Pakiety przeznaczone dla tych struktur powinny zostać zmigrowane do wskazanych zastąpień.

Przestarzała struktura Zastąpienie
aspnet50 netcoreapp
aspnetcore50
dnxcore50
Dnx
dnx45
dnx451
dnx452
dotnet netstandard
dotnet50
dotnet51
dotnet52
dotnet53
dotnet54
dotnet55
dotnet56
Winrt Wygrać

Pierwszeństwo

Wiele struktur jest powiązanych i zgodnych ze sobą, ale niekoniecznie równoważnych:

Framework Może używać
uap (platforma uniwersalna systemu Windows) win81
wpa81
netcore50
win (Microsoft Store) Winrt

NET Standard

Platforma .NET Standard upraszcza odwołania między strukturami zgodnymi z binarnymi, umożliwiając pojedynczej strukturze docelowej odwołanie do kombinacji innych. (Aby uzyskać informacje w tle, zobacz .NET Primer).

Narzędzie NuGet Get Nearest Framework Tool symuluje użycie narzędzia NuGet w celu wybrania jednej struktury z wielu dostępnych zasobów platformy w pakiecie na podstawie struktury projektu.

Seria dotnet monikers powinna być używana w nuGet 3.3 i starszych wersjach. Składnia netstandard moniker powinna być używana w wersji 3.4 lub nowszej.

Biblioteki klas przenośnych

Ostrzeżenie

Listy PCL nie są zalecane. Mimo że listy PCLS są obsługiwane, autorzy pakietów powinni zamiast tego obsługiwać netstandard. Platforma .NET Standard to ewolucja list PCLs i reprezentuje przenośność binarną na różnych platformach przy użyciu pojedynczego monikera, który nie jest powiązany z biblioteką statyczną, na przykład portable-a+b+c monikers.

Aby zdefiniować platformę docelową odwołującą się do wielu struktur podrzędnych docelowych, portable słowo kluczowe służy do prefiksu listy odwołań struktur. Unikaj sztucznego dołączania dodatkowych struktur, które nie są bezpośrednio kompilowane, ponieważ może to prowadzić do niezamierzonych skutków ubocznych w tych strukturach.

Dodatkowe struktury zdefiniowane przez inne firmy zapewniają zgodność z innymi środowiskami, które są w ten sposób dostępne. Ponadto istnieją skrócone numery profilów, które są dostępne do odwoływania się do tych kombinacji powiązanych struktur jako Profile#, ale nie jest to zalecana praktyka używania tych liczb, ponieważ zmniejsza czytelność folderów i .nuspec.

Profil # Platformy Imię i nazwisko .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 portable-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 portable-net45+sl5
Silverlight 5.0
Profil31 Windows 8.1 portable-win81+wp81 netstandard1.0
Windows Telefon 8.1 (SL)
Profil32 Windows 8.1 portable-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 portable-net451+win81 netstandard1.2
Windows 8.1
Profil46 . NETFramework 4.5 portable-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 portable-net45+win8+wp8 netstandard1.0
Windows 8.0
Windows Telefon 8.0 (SL)
Profil84 Windows Telefon 8.1 portable-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 portable-net45+sl4+win8+wp75
Silverlight 4.0
Windows 8.0
Windows Telefon 7.5
Profil111 . NETFramework 4.5 portable-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 portable-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)

Ponadto pakiety NuGet przeznaczone dla platformy Xamarin mogą używać dodatkowych struktur zdefiniowanych przez platformę Xamarin. Zobacz Tworzenie pakietów NuGet dla platformy Xamarin.

Nazwa/nazwisko opis .NET Standard
monoandroid Obsługa mono dla systemu operacyjnego Android netstandard1.4
monotouch Obsługa mono dla systemu iOS netstandard1.4
monomac Obsługa mono dla systemu OSX netstandard1.4
xamarinios Obsługa platformy Xamarin dla systemu iOS netstandard1.4
xamarinmac Obsługa platformy Xamarin dla komputerów Mac netstandard1.4
xamarinpsthree Obsługa platformy Xamarin w programie Playstation 3 netstandard1.4
xamarinpsfour Obsługa platformy Xamarin na playstation 4 netstandard1.4
xamarinpsvita Obsługa platformy Xamarin w programie PS Vita netstandard1.4
xamarinwatchos Xamarin for Watch OS netstandard1.4
xamarintvos Xamarin dla systemu operacyjnego TV netstandard1.4
xamarinxboxthreesixty Xamarin dla XBox 360 netstandard1.4
xamarinxboxone Xamarin dla XBox One netstandard1.4

Uwaga

Stephen Cleary utworzył narzędzie, które zawiera listę obsługiwanych list PCLs, które można znaleźć w swoim wpisie, profile platformy Framework na platformie .NET.