Какво ново в Microsoft .Net Framework 4.8

Microsoft пусна .Net Framework 4.8, най-новата версия на рамката за разработка на приложения на компанията за Windows. Актуализацията носи редица корекции на грешки, корекции за сигурност и подобрения на Common Language Runtime, ASP.Net, Windows Forms, Windows Presentation Foundation и Windows Communication Foundation. 

Къде да изтеглите .Net Framework 4.8

Можете да изтеглите производствената версия на .Net Framework от сайта на Microsoft .Net. 

Текуща версия: Новите функции в .Net Framework 4.8

Пуснат на 18 април 2019 г. .Net Framework 4.8 включва следните нови функции и подобрения:

  • За NGEN (Native Image Generator) изображенията в .Net Framework вече нямат записи и изпълними секции. Това намалява площта, достъпна за атаки, които се опитват да изпълнят произволен код, като модифицират адресите на паметта на NGEN.
  • Сканирането срещу злонамерен софтуер вече се инициира за всички възли, независимо дали са заредени от диск или мрежа. По-рано изпълнението на .Net само инициира сканиране (от Windows Defender и софтуер на трети страни срещу злонамерен софтуер, прилагащ интерфейса за сканиране на Antimalware) на сглобки, заредени от диск. 
  • Компилаторът .Net Framework 4.8 JIT се основава на .Net Core 2.1. Поправки на грешки и оптимизации, базирани на генериране на код от .Net Core 2.1, вече са налични в .Net Framework.
  • В BCL (библиотеката на базовия клас) е подобрена библиотеката за външно компресиране на Zlib, намален е броят на финализирането на обекти, възникнали в резултат на използването на X509Certificate2 и свързаните с него типове, и е добавен API за получаване на отпечатъци с повикващ - посочен алгоритъм за дайджест
  • В допълнение, BCL в .Net Framework 4.8 намалява въздействието на FIPS (Федерални стандарти за обработка на информация) върху криптографията. От .Net Framework 2.0 класовете на криптографски доставчици са създали изключение, когато криптографските библиотеки са конфигурирани в режим FIPS. С .Net 4.8 тези изключения вече няма да бъдат изхвърлени по подразбиране.
  • Предлагат се подобрения на достъпността за Windows Forms, за да се подобри комуникацията на данните от приложенията с хора със зрителни увреждания.
  • В ASP.Net е отстранен проблем, включващ обработката на HTT заглавки с много стойности, които могат да повлияят на обработката на данни от много части.
  • Поправени са проблеми с CLR (Common Language Runtime), при които са изпращани неправилни стойности като EventListeners.
  • Активираните етикети в Windows Forms сега винаги се изобразяват чрез висококонтрастен цвят на текста, когато е активиран режим с висок контраст. Това засяга приложения, прекомпилирани за насочване към .Net Framework 4.8.
  • Алгоритъмът на хеширане, използван за генериране на контролни суми за XOML файлове при изграждане на проекти с XOML файлове, е променен. Разработчиците все още могат да използват предишния алгоритъм.
  • Алгоритъмът за хеширане за изчисляване на ключове към кешовете на вътрешната памет е модифициран. Разработчиците все още могат да използват предишния алгоритъм.
  • Поправено е изтичане на памет, което е засегнало HttpWebRequest при комуникация с HTTPS сървър чрез прокси сървър.
  • В Windows Presentation Foundation е отстранено изтичане на памет, възникнало при премахване на елементи от данни от родителски колекции, когато е налице UIAutomation.
  • Windows Presentation Foundation добави поддръжка за Per-Monitor V2 DPI Awareness и смесен режим DPI.
  • В Windows Communication Foundation е отстранен проблем с достъпността, който е причинил неправилно тематизиране на контролите ComboBox в теми с висок контраст.
  • В Windows Communication Foundation ServiceHealthBehaviour се представя като поведение на услуга, добавено към колекцията ServiceDescription.Behaviors. Той може да върне здравословното състояние на услугата с HTTP кодове за отговор и да даде възможност за публикуване на състоянието на услугата. 

Предишна версия: Новите функции в .Net Framework 4.7.2

Вече популярен в технологии като Spring Framework, инжектирането на зависимости позволява на един обект да предоставя зависимости на друг обект. .Net Framework 4.7.2 улеснява използването на тази възможност в уеб формуляри на ASP.net. Поддържат се инжекция на базата на сетер, интерфейс и конструктор и могат да бъдат включени други рамки за инжектиране на зависимости.

Други нови функции в .Net Framework 4.7.2 включват:

  • В SameSiteимота се добавя към уеб рамка на ASP.Net, да се твърди, че една бисквитка не трябва да бъде изпратен с искания между сайтове. Целта на SameSiteатрибута е да намали изтичането на информация и да предпази от атаки за фалшифициране на различни сайтове. Имотът е добавен в HttpCookieType. Той също е включен в бисквитките FormsAuthentication и SessionState.
  • За да се подобри сигурността и съответствието, удостоверяването на Azure Active Directory се поддържа чрез ключова дума за интерактивно удостоверяване, добавена към многофакторно удостоверяване. Това е разширение на низа за връзка на SqlClient.
  • API се добавят към стандартните типове колекции, позволявайки нова функционалност като конструктори на HashSet, които позволяват на HashSets да бъдат конструирани с капацитет. Това предлага полза за производителността, когато се знае какъв е размерът на HashSet.
  • Криптографските подобрения опростяват създаването на RSA и DSA обекти и повикване ImportParameters.
  • Windows Presentation Foundation (WPF) добави функцията за StaticResourceпрепратки, която позволява на асистент за диагностика да бъде уведомен, когато StaticResourceпрепратката бъде разрешена. Например диагностичен асистент като съоръжението за редактиране и продължаване на Visual Studio може да иска да актуализира употребите на ресурс, когато той променя или замества стойност в речника на ресурса.
  • Най- WorkflowDesignerColorsкласа е добавен към подобряване на потребителския интерфейс опит в режим на висок контраст.
  • Чрез декомпресията на Zlib е подобрена производителността за декомпресиране на Zip архиви чрез използване на собствена реализация на Zip.
  • .Net Framework работните натоварвания вече могат да генерират заявки за подписване на сертификати, позволявайки генерирането на заявки да бъде инсценирано в съществуващите инструменти.
  • Добавена е поддръжка за всеки монитор за Windows Presentation Foundation и HDPI-запознати VSTO (Visual Studio Tools for Office) приложения, внедрени с помощта на ClickOnce.
  • Подобрена е поддръжката за .Net Standard 2.0.
  • Диагностичните асистенти могат да намерят ResourceDictionaries, създадени от даден източник URI.

Предишна версия: Какво е новото в .Net Framework 4.7.1

С пускането на Microsoft .Net Framework 4.7.1 в средата на октомври 2017 г. платформата за разработка придоби критични подобрения в събирането на боклука, защитата и конфигурацията на приложенията. 

За да се повиши производителността на разпределение на паметта, особено за разпределянето на купчина големи обекти, архитектурна промяна в събирача на боклук разделя разпределението на купчината на малки и големи обекти. Приложенията, които правят много големи разпределения на куп обекти, трябва да изпитат намаляване на спора за заключване на разпределение и по-добра производителност.

Актуализацията също така добавя опции за защитен хеш за удостоверяване на форми на ASP.Net, включително SHA-2 (Secure Hash Algorithm), по-силния наследник на SHA-1. За съвместимост SHA-1 все още е опцията по подразбиране. SHA-2 се поддържа и за Message.HashAlgorithm, който определя алгоритъма на хеширане, използван от опашката за съобщения при удостоверяване. 

Новите конструктори на конфигурации в .Net 4.7.1 позволяват на разработчиците да инжектират и изграждат конфигурация за приложения по време на изпълнение. Конфигурационните данни могат да бъдат взети от източници извън конфигурационния файл; в предишните версии на .Net конфигурацията е статична. Чрез конструктори за конфигуриране приложенията могат да прилагат дефиниран по поръчка набор от конструктори към секция от config. Строителите могат да променят данните за конфигурацията, съдържащи се в конфигурационния раздел, или да ги изграждат от нулата, дори да черпят нови данни от източници, различни от статични файлове.

Други характеристики на надстройката включват:

  • Поддръжка на спецификацията .Net Standard 2.0, която включва набор от API, споделени от множество реализации на .Net.
  • Подобрения на достъпността в WPF (Windows Presentation Foundation) и Windows Forms, включително подобрения с висок контраст, подобрени модели на потребителския интерфейс и подобрен опит в инструменти като Разказвач.
  • Поддръжка на визуална диагностика в WPF, която позволява използването на инструменти за анализ на XAML визуални дървета.
  • Поддръжка на компилатор за ReadOnlyReferences в езика C # 7.2, за предаване на променливи чрез препратка, но без излагане на данни на модификации.
  • API за откриване на функции по време на изпълнение, за да се определи дали изпълнението поддържа определена функция.
  • Сериализуеми SystemValueTupleтипове, които трябва да улеснят мигрирането от  System.Tuple новия синтаксис на кортежа в C # 7.0 и Visual Basic 15.5.
  • API на ASP.Net, осигуряващ стандартизиран начин за изграждане на HttpCookieобект от низ и улавяне на свойства на бисквитки, като дата на изтичане и път.
  • Функция за стъпка на изпълнение в ASP.Net, наречена ExecutionStepInvoker, която позволява на разработчиците да изпълняват стъпки за изпълнение вътре в техния код, вместо в предварително дефинирания конвейер на ASP.Net. Тази функция е предназначена за библиотеки, занимаващи се с потока на изпълнение на приложенията.