Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 29768|Odpověď: 0

[Zdroj] Rozdíl mezi .NET Core a .NET Standard

[Kopírovat odkaz]
Zveřejněno 12.11.2019 10:25:55 | | | |
.NET Standard je formální množinaSpecifikace .NET API, očekává se, že bude dostupný ve všech .NET implementacích. Motivací pro zavedení .NET Standard bylo zlepšení konzistence v ekosystému .NET. ECMA 335 nadále zajišťuje jednotnost chování implementace .NET, ale neexistuje podobná specifikace pro .NET Base Class Libraries (BCL) pro implementace .NET knihoven.

.NET Standard umožňuje následující klíčové scénáře:

  • Definujte jednotnou, na zátěž nezávislou sadu BCL API pro všechny .NET implementace, které chcete implementovat.
  • Umožňuje vývojářům vytvářet přenosné knihovny, které lze použít v různých .NET implementacích prostřednictvím stejné sady API.
  • Snižuje nebo dokonce eliminuje podmíněnou kompilaci sdíleného zdrojového kódu pro aspekty .NET API (pouze OS API).


Různé implementace .NET cílí na konkrétní verzi .NET Standardu. Každá implementace .NET oznamuje nejvyšší verzi .NET Standard, kterou podporuje, což znamená, že podporuje i předchozí verze. Například .NET Framework 4.6 implementuje .NET Standard 1.3. To znamená, že zpřístupňuje všechna API definovaná ve verzích .NET Standard 1.0 až 1.3. Podobně .NET Framework 4.6.1 implementuje .NET Standard 1.4, zatímco .NET Core 1.0 implementuje .NET Standard 1.6.




Vztah mezi implementacemi .NET Standard a .NET je stejný jako vztah mezi HTML specifikacemi a prohlížeči. Druhá je realizace toho prvního.

Proto .NET Framework, Xamarin, a .NET Core, každý z řízených frameworků, implementuje . NET Standard. Jak počítačový průmysl nadále zavádí nový hardware a operační systémy, v budoucnu se objeví i nové. .NET hostingový framework. Standard dává vývojářům aplikací vědět, že se mohou spolehnout na konzistentní sadu API.

Každý. Verze .NET odpovídají verzi pro .NET Standard.

API je konzistentní a přenášení aplikací do různých spravovaných implementací a poskytování nástrojů bude jednodušší.

.NET Standard je definován jako samostatný balíček NuGet, protože všechny . Implementace .NET musí být podporovány


.NET Standard vs přenosné knihovny

Nedělá přenosná knihovna totéž?

Přenosné třídy používají společná API, která jsou podporována více platformami. Výsledkem je, že čím více podporovaných platforem, tím méně dostupných API a u konkrétní kombinace platforem může být obtížné přesně určit, která API jsou podporována. Pro novou platformu je nutné stávající PCL znovu zkompilovat. PCL také vyžaduje, aby Microsoft vytvořil nový fork pro implementaci frameworku pro každou platformu.
Kvůli. NET Standard identifikuje API, nikoli implementaci, takže není potřeba aplikaci znovu kompilovat. Jakýkoli nově vydaný . Implementace .NET implementují potřebné knihovny. Aplikace není třeba překompilovat, aby běžely na nových hardwarových platformách nebo operačních systémech. Teoreticky by výjimka NotSupportedException mohla být zachycena při volání API, ale to by mělo být vzácné.


Podpora implementace .NET

Následující tabulka uvádí minimální verze platforem, které podporují každou verzi .NET Standard. To znamená, že pozdější verze uvedených platforem podporují i odpovídající verze .NET Standard. Například .NET Core 2.2 podporuje .NET Standard 2.0 a starší verzi.








Předchozí:Linuxový skriptovací průvodce shellem (3. edice)
Další:ASP.NET Obnovení Nugetu v Core 3.0 selhalo
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com