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:

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:

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.