Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 28789|Отговор: 0

[Източник] Разликата между .NET Core и .NET Standard

[Копирай линк]
Публикувано в 12.11.2019 г. 10:25:55 ч. | | | |
.NET Standard е формално множество.NET API спецификация, очаква се да е наличен във всички .NET реализации. Мотивацията зад въвеждането на .NET стандарта беше да се подобри последователността в .NET екосистемата. ECMA 335 продължава да установява униформност за поведението при .NET имплементация, но няма подобна спецификация за .NET Basic Class Libraries (BCLs) за реализации на .NET библиотеки.

.NET Standard позволява следните ключови сценарии:

  • Дефинирайте унифициран, независим от натоварването набор от BCL API за всички .NET имплементации, които искате да имплементирате.
  • Позволява на разработчиците да създават преносими библиотеки, които могат да се използват в различни .NET реализации чрез един и същ набор от API-та.
  • Намалява или дори елиминира условното компилиране на споделен изходен код за .NET API аспекти (само за ОС API).


Различни .NET реализации са насочени към конкретна версия на .NET стандарта. Всяка .NET имплементация обявява най-високата версия на .NET Standard, която поддържа, което означава, че поддържа и предишни версии. Например, .NET Framework 4.6 реализира .NET Standard 1.3. Тоест, той разкрива всички API-та, дефинирани в .NET стандартни версии 1.0 до 1.3. По подобен начин, .NET Framework 4.6.1 имплементира .NET Standard 1.4, докато .NET Core 1.0 реализира .NET Standard 1.6.




Връзката между .NET Standard и .NET имплементации е същата като връзката между HTML спецификациите и браузърите. Последното е реализация на първото.

Следователно, .NET Framework, Xamarin, и .NET Core, всяка от управляваните рамки, имплементират . NET стандарт. Докато компютърната индустрия продължава да въвежда нов хардуер и операционни системи, нови ще се появят в бъдеще. .NET хостинг рамка. Стандартът информира разработчиците на приложения, че могат да разчитат на последователен набор от API-та.

Всеки. .NET версиите съответстват на стандартна .NET версия.

API-то е последователно, а портването на приложения към различни управлявани реализации и предоставянето на инструменти ще бъде по-лесно.

.NET Standard е дефиниран като отделен NuGet пакет, тъй като всички . .NET имплементации трябва да бъдат поддържани


.NET стандарт срещу преносими библиотеки

Не прави ли преносимата библиотека същото?

Преносимите класове използват общи API-та, поддържани от множество платформи. В резултат на това, колкото повече платформи се поддържат, толкова по-малко API-та са налични, а за определена комбинация от платформи може да е трудно да се знае точно кои API се поддържат. За нова платформа съществуващият PCL трябва да бъде прекомпилиран. PCL изисква от Microsoft да създаде нов форк за реализация на рамката за всяка платформа.
Поради това. NET Standard идентифицира API, а не имплементация, така че няма нужда от прекомпилиране на приложението. Всеки новоизлязъл . .NET реализациите реализират необходимите библиотеки. Приложенията не е необходимо да бъдат прекомпилирани, за да работят на нови хардуерни платформи или операционни системи. Теоретично, изключение NotSupportedException може да бъде открито при извикване на API-то, но това би трябвало да е рядкост.


Поддръжка за имплементация на .NET

Следващата таблица изброява минималните версии на платформата, които поддържат всяко издание на .NET Standard. Това означава, че по-късните версии на изброените платформи поддържат и съответните .NET стандартни версии. Например, .NET Core 2.2 поддържа .NET Standard 2.0 и по-стари версии.








Предишен:Ръководство за скриптиране на Linux shell (3-то издание)
Следващ:ASP.NET Core 3.0 възстановяване на Nuget не успя
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com