Cílové architektury
NuGet používá odkazy na cílovou architekturu na různých místech k identifikaci a izolaci komponent závislých na rozhraní balíčku:
- soubor projektu: Pro projekty ve stylu sady SDK obsahuje .csproj odkazy na cílovou architekturu.
- Manifest .nuspec: Balíček může znamenat různé balíčky, které se mají zahrnout do projektu v závislosti na cílovém rozhraní projektu.
- Název složky .nupkg: Složky uvnitř složky balíčku
lib
lze pojmenovat podle cílové architektury, z nichž každá obsahuje knihovny DLL a další obsah vhodný pro danou architekturu. - packages.config: Atribut
targetframework
závislosti určuje variantu balíčku, který se má nainstalovat.
Poznámka:
NuGet podporuje všechny moderní cílové architektury .NET:
- Seznam nejnovějších cílových architektur najdete v dokumentaci k cílovým architekturám v projektech ve stylu sady SDK.
Podporované architektury
Na architekturu se obvykle odkazuje krátkým cílovým monikerem nebo TFM. V .NET Standard se také zobecní na TxM , aby bylo možné použít jeden odkaz na více architektur.
Poznámka:
Zdrojový kód klienta NuGet, který vypočítá následující tabulky, najdete v následujících umístěních:
- Podporované názvy architektur: FrameworkConstants.cs
- Priorita a mapování architektury: DefaultFrameworkMappings.cs
Klienti NuGet podporují architektury v následující tabulce. Ekvivalenty se zobrazují v hranatých závorkách []. Upozorňujeme, že některé nástroje, například dotnet
, můžou v některých souborech používat varianty kanonických TFM. Například dotnet pack
používá .NETCoreApp2.0
v .nuspec
souboru místo netcoreapp2.0
. Různé klientské nástroje NuGet zpracovávají tyto varianty správně, ale při úpravách souborů byste měli vždy používat kanonické TFM.
Název | Zkratka | TFMs/TxMs |
---|---|---|
.NET Framework | net | net11 |
net20 | ||
net35 | ||
net40 | ||
net403 | ||
net45 | ||
net451 | ||
net452 | ||
net46 | ||
net461 | ||
net462 | ||
net47 | ||
net471 | ||
net472 | ||
net48 | ||
Microsoft Store (Windows Store) | netcore | netcore [netcore45] |
netcore45 [win, win8] | ||
netcore451 [win81] | ||
netcore50 | ||
.NET MicroFramework | netmf | netmf |
Windows | Vyhrát | win8, netcore45] |
win8 [netcore45, win] | ||
win81 [netcore451] | ||
win10 (nepodporuje platformu Windows 10) | ||
Silverlight | sl | sl4 |
sl5 | ||
Windows Telefon (SL) | Wp | wp [wp7] |
wp7 | ||
wp75 | ||
wp8 | ||
wp81 | ||
Windows Telefon (UPW) | wpa81 | |
Univerzální platforma Windows | Uap | uap [uap10.0] |
uap10.0 | ||
uap10.0.xxxxx (kde 10.0.xxxxx je minimální verze cílové platformy aplikace) | ||
.NET Standard | netstandard | netstandard1.0 |
netstandard1.1 | ||
netstandard1.2 | ||
netstandard1.3 | ||
netstandard1.4 | ||
netstandard1.5 | ||
netstandard1.6 | ||
netstandard2.0 | ||
netstandard2.1 | ||
.NET 5+ (a .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 | ||
Nativní | nativní | nativní |
Zastaralé architektury
Následující architektury jsou zastaralé. Balíčky, jejichž cílem jsou tyto architektury, by se měly migrovat na uvedené nahrazení.
Zastaralá architektura | Náhrada |
---|---|
aspnet50 | netcoreapp |
aspnetcore50 | |
dnxcore50 | |
Dnx | |
dnx45 | |
dnx451 | |
dnx452 | |
dotnet | netstandard |
dotnet50 | |
dotnet51 | |
dotnet52 | |
dotnet53 | |
dotnet54 | |
dotnet55 | |
dotnet56 | |
winrt | Vyhrát |
Pořadí podle priority
Řada architektur se vzájemně souvisí a je kompatibilní s nimi, ale nemusí se nutně shodovat:
Framework | Může použít |
---|---|
uap (Univerzální platforma Windows) | win81 |
wpa81 | |
netcore50 | |
win (Microsoft Store) | winrt |
NET Standard
.NET Standard zjednodušuje odkazy mezi binárními kompatibilními architekturami, což umožňuje, aby jedna cílová architektura odkazovat na kombinaci jiných. (Pozadí najdete v úvodu k .NET.)
Nástroj NuGet Get Nearest Framework tool simuluje, co NuGet používá k výběru jedné architektury z mnoha dostupných prostředků architektury v balíčku na základě architektury projektu.
Řada dotnet
monikerů by se měla používat v NuGetu 3.3 a starších. netstandard
Syntaxe monikeru by měla být použita ve verzi 3.4 a novější.
Přenosné knihovny tříd
Upozorňující
Seznamy PCL se nedoporučují. I když jsou seznamy PCLS podporované, autoři balíčků by měli místo toho podporovat netstandard. .NET Platform Standard je vývoj seznamů PCLs a představuje binární přenositelnost napříč platformami pomocí jediného monikeru, který není svázán se statickou knihovnou, jako je portable-a+b+c monikers.
Chcete-li definovat cílovou architekturu, která odkazuje na několik podřízených cílových architektur, portable
klíčové slovo slouží k předponě seznamu odkazovaných architektur. Vyhněte se umělému zahrnutí dalších architektur, které nejsou přímo kompilovány, protože může vést k nežádoucím vedlejším účinkům v těchto architekturách.
Další architektury definované třetími stranami poskytují kompatibilitu s jinými prostředími, která jsou tímto způsobem přístupná. Kromě toho existují zkrácená čísla profilů, která jsou k dispozici pro odkazování na tyto kombinace souvisejících architektur jako Profile#
, ale to není doporučený postup pro použití těchto čísel, protože snižuje čitelnost složek a .nuspec
.
Profil # | Architektury | Jméno a příjmení | .NET Standard |
---|---|---|---|
Profile2 | . NETFramework 4.0 | portable-net40+win8+sl4+wp7 | |
Windows 8.0 | |||
Silverlight 4.0 | |||
Windows Telefon 7.0 | |||
Profile3 | . NETFramework 4.0 | portable-net40+sl4 | |
Silverlight 4.0 | |||
Profile4 | . NETFramework 4.5 | portable-net45+sl4+win8+wp7 | |
Silverlight 4.0 | |||
Windows 8.0 | |||
Windows Telefon 7.0 | |||
Profile5 | . NETFramework 4.0 | portable-net40+win8 | |
Windows 8.0 | |||
Profil 6 | . NETFramework 4.0.3 | portable-net403+win8 | |
Windows 8.0 | |||
Profil 7 | . NETFramework 4.5 | portable-net45+win8 | netstandard1.1 |
Windows 8.0 | |||
Profil 14 | . NETFramework 4.0 | portable-net40+sl5 | |
Silverlight 5.0 | |||
Profil 18 | . NETFramework 4.0.3 | portable-net403+sl4 | |
Silverlight 4.0 | |||
Profil 19 | . NETFramework 4.0.3 | portable-net403+sl5 | |
Silverlight 5.0 | |||
Profil 23 | . NETFramework 4.5 | portable-net45+sl4 | |
Silverlight 4.0 | |||
Profil 24 | . NETFramework 4.5 | portable-net45+sl5 | |
Silverlight 5.0 | |||
Profil 31 | Windows 8.1 | portable-win81+wp81 | netstandard1.0 |
Windows Telefon 8.1 (SL) | |||
Profil 32 | Windows 8.1 | portable-win81+wpa81 | netstandard1.2 |
Windows Telefon 8.1 (UPW) | |||
Profil 36 | . NETFramework 4.0 | portable-net40+sl4+win8+wp8 | |
Silverlight 4.0 | |||
Windows 8.0 | |||
Windows Telefon 8.0 (SL) | |||
Profil 37 | . NETFramework 4.0 | portable-net40+sl5+win8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Profile41 | . NETFramework 4.0.3 | portable-net403+sl4+win8 | |
Silverlight 4.0 | |||
Windows 8.0 | |||
Profil 42 | . NETFramework 4.0.3 | portable-net403+sl5+win8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Profil 44 | . NETFramework 4.5.1 | portable-net451+win81 | netstandard1.2 |
Windows 8.1 | |||
Profil 46 | . NETFramework 4.5 | portable-net45+sl4+win8 | |
Silverlight 4.0 | |||
Windows 8.0 | |||
Profil 47 | . NETFramework 4.5 | portable-net45+sl5+win8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Profile49 | . NETFramework 4.5 | portable-net45+wp8 | netstandard1.0 |
Windows Telefon 8.0 (SL) | |||
Profil 78 | . 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 (UPW) | |||
Profil 88 | . NETFramework 4.0 | portable-net40+sl4+win8+wp75 | |
Silverlight 4.0 | |||
Windows 8.0 | |||
Windows Telefon 7.5 | |||
Profile92 | . NETFramework 4.0 | portable-net40+win8+wpa81 | |
Windows 8.0 | |||
Windows Telefon 8.1 (UPW) | |||
Profile95 | . 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 | |||
Profil 102 | . NETFramework 4.0.3 | portable-net403+win8+wpa81 | |
Windows 8.0 | |||
Windows Telefon 8.1 (UPW) | |||
Profil 104 | . NETFramework 4.5 | portable-net45+sl4+win8+wp75 | |
Silverlight 4.0 | |||
Windows 8.0 | |||
Windows Telefon 7.5 | |||
Profil 111 | . NETFramework 4.5 | portable-net45+win8+wpa81 | netstandard1.1 |
Windows 8.0 | |||
Windows Telefon 8.1 (UPW) | |||
Profil 136 | . NETFramework 4.0 | portable-net40+sl5+win8+wp8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Windows Telefon 8.0 (SL) | |||
Profil 143 | . NETFramework 4.0.3 | portable-net403+sl4+win8+wp8 | |
Silverlight 4.0 | |||
Windows 8.0 | |||
Windows Telefon 8.0 (SL) | |||
Profil 147 | . NETFramework 4.0.3 | portable-net403+sl5+win8+wp8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Windows Telefon 8.0 (SL) | |||
Profil 151 | NETFramework 4.5.1 | portable-net451+win81+wpa81 | netstandard1.2 |
Windows 8.1 | |||
Windows Telefon 8.1 (UPW) | |||
Profil 154 | . NETFramework 4.5 | portable-net45+sl4+win8+wp8 | |
Silverlight 4.0 | |||
Windows 8.0 | |||
Windows Telefon 8.0 (SL) | |||
Profil 157 | Windows 8.1 | portable-win81+wp81+wpa81 | netstandard1.0 |
Windows Telefon 8.1 (SL) | |||
Windows Telefon 8.1 (UPW) | |||
Profil 158 | . NETFramework 4.5 | portable-net45+sl5+win8+wp8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Windows Telefon 8.0 (SL) | |||
Profil 225 | . NETFramework 4.0 | portable-net40+sl5+win8+wpa81 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Windows Telefon 8.1 (UPW) | |||
Profil 240 | . NETFramework 4.0.3 | portable-net403+sl5+win8+wpa8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Windows Telefon 8.1 (UPW) | |||
Profil 255 | . NETFramework 4.5 | portable-net45+sl5+win8+wpa81 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Windows Telefon 8.1 (UPW) | |||
Profil 259 | . NETFramework 4.5 | portable-net45+win8+wpa81+wp8 | netstandard1.0 |
Windows 8.0 | |||
Windows Telefon 8.1 (UPW) | |||
Windows Telefon 8.0 (SL) | |||
Profil 328 | . NETFramework 4.0 | portable-net40+sl5+win8+wpa81+wp8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Windows Telefon 8.1 (UPW) | |||
Windows Telefon 8.0 (SL) | |||
Profil 336 | . NETFramework 4.0.3 | portable-net403+sl5+win8+wpa81+wp8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Windows Telefon 8.1 (UPW) | |||
Windows Telefon 8.0 (SL) | |||
Profil 344 | . NETFramework 4.5 | portable-net45+sl5+win8+wpa81+wp8 | |
Silverlight 5.0 | |||
Windows 8.0 | |||
Windows Telefon 8.1 (UPW) | |||
Windows Telefon 8.0 (SL) |
Kromě toho balíčky NuGet, které cílí na Xamarin, můžou používat další architektury definované Xamarinem. Viz Vytváření balíčků NuGet pro Xamarin.
Název | Popis | .NET Standard |
---|---|---|
monoandroid | Mono podpora operačního systému Android | netstandard1.4 |
monotouch | Mono podpora pro iOS | netstandard1.4 |
monomac | Mono podpora pro OSX | netstandard1.4 |
xamarinios | Podpora pro Xamarin pro iOS | netstandard1.4 |
xamarinmac | Podpora pro Xamarin pro Mac | netstandard1.4 |
xamarinpsthree | Podpora Xamarinu na playstationu 3 | netstandard1.4 |
xamarinpsfour | Podpora pro Xamarin ve službě Playstation 4 | netstandard1.4 |
xamarinpsvita | Podpora pro Xamarin na PS Vita | netstandard1.4 |
xamarinwatchos | Xamarin for Watch OS | netstandard1.4 |
xamarintvos | Xamarin pro televizní operační systém | netstandard1.4 |
xamarinxboxthreesixty | Xamarin pro XBox 360 | netstandard1.4 |
xamarinxboxone | Xamarin pro XBox One | netstandard1.4 |
Poznámka:
Stephen Cleary vytvořil nástroj, který uvádí seznam podporovaných pcLs, které najdete na jeho post, Framework profily v .NET.