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:
- Aby uzyskać listę najnowszych platform docelowych, zobacz dokumentację Platformy docelowe w projektach w stylu zestawu SDK.
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:
- Obsługiwane nazwy platform: FrameworkConstants.cs
- Pierwszeństwo i mapowanie struktury: DefaultFrameworkMappings.cs
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.