- PVSM.RU - https://www.pvsm.ru -
В конце прошлого года мы выпустили .NET Core 3.0 и 3.1. В этих версиях добавлены модели настольных приложений Windows Forms (WinForms) и WPF, ASP.NET Blazor для создания одностраничных приложений и gRPC для кроссплатформенного обмена сообщениями на основе контрактов. Мы также добавили шаблоны для создания сервисов, крутое генерирование клиентского кода для общения с gRPC, сервисы REST API и многое другое. Мы рады, что .NET Core 3 стала самой быстро-принятой версией .NET, и за последний год у нас появился еще миллион пользователей.
Мы также работали [1] над этими выпусками, чтобы завершить перенос моделей приложений из .NET Framework. В .NET Core 3 мы перенесли все наиболее используемые модели приложений, а также представили новые кроссплатформенные инфраструктуры вместо тех, которые не были портированы.
В ожидании следующего основного выпуска .NET 5 мы продолжим объединять .NET в единую платформу, включив нашу модель приложения для мобильных устройств .NET (Xamarin) в .NET 5. .NET 5 будет включать ASP.NET Core, Entity Framework Core, WinForms, WPF, Xamarin и ML.NET. Впервые вся платформа будет использовать унифицированный BCL (библиотеки базовых классов) для всех моделей приложений. Наличие версии 5, которая выше, чем у .NET Core и .NET Framework, также дает понять, что .NET 5 — это будущее .NET, единой унифицированной платформы для создания приложений любого типа.
Мы говорили это много раз, но мы еще раз повторим; .NET Core, а затем .NET 5 — это .NET, с помощью которого вам стоит создавать все свои новые приложения. .NET Framework будет поддерживаться до тех пор, пока поддерживается сама Windows. Мы будем продолжать обеспечивать безопасность и исправлять ошибки, а также обновлять сетевые и крипто API. Он будет оставаться безопасным и поддерживаться для работы ваших старых приложений на .NET Framework.

Сегодня мы выпускаем первую Preview .NET 5, полноценный выход которой запланирован на конец этого года в ноябре.
Читайте обновления ASP.NET Core в .NET 5 Preview 1 [3], чтобы узнать о сегодняшнем выпуске ASP.NET Core.
В Preview 1 впервые включена поддержка Windows ARM64. Сегодняшняя версия также включает в себя runtime .NET Core. Мы ожидаем, что в Preview 2 будет добавлен SDK (ядро ASP.NET, но не WPF или Windows Forms). Более поздний предварительный просмотр будет включать в себя WPF и Windows Forms. Поддержка Windows ARM64 также будет перенесена в .NET Core 3.1. Мы поделимся более подробной информацией об этом в посте о Preview 2.
Вы можете обновить существующие проекты, обновив целевую платформу следующим образом:
<TargetFramework>netcoreapp5.0</TargetFramework>
Preview 1 еще не содержит результатов всех этих целей, но мы будем продолжать анонсировать больше возможностей в будущих превью.
Следующие улучшения в Preview 1:
Мы вложили значительные средства в движок Regex. Во многих протестированных нами выражениях эти улучшения обычно приводят к повышению производительности в 3-6 раз, а в некоторых случаях и к гораздо большему. В скором времени у нас будет пост в блоге, в котором эти улучшения будут описаны более подробно.
Каждый релиз включает набор улучшений производительности для кода, который генерирует JIT. Мы называем этот тип улучшений «CQ» или качество кода. В большинстве случаев эти улучшения также применяются к коду, созданному для готовых к запуску образов.
Мы добавили информацию о загрузке сборки в event pipe. Это улучшение — начало доступности аналогичных диагностических функций, которые являются частью .NET Framework с Fusion Log Viewer [8]. Теперь вы можете использовать dotnet-trace [9] для сбора этой информации, используя следующую команду:
dotnet-trace collect --providers Microsoft-Windows-DotNETRuntime:4:4 --process-id [process ID]
Рабочий процесс описан в разделе Trace Assembly Loading with Event Pipe [10]. Вы можете увидеть информацию о загрузке сборки для простого тестового приложения.

Event Pipe — это новая подсистема и API, которые мы добавили в .NET Core 2.2, чтобы сделать возможным выполнение диагностик производительности и других в любой операционной системе. В .NET 5.0 Event Pipe был расширен, чтобы профилировщики могли записывать события Event Pipe. Этот сценарий важен для инструментов профилировщиков, которые ранее использовали ETW для мониторинга поведения и производительности приложений.
Как часть выпуска .NET 5, мы сократили количество репозиториев на GitHub [11], которые использовались для создания и упаковки .NET. Границы репозитория оказывают значительное влияние на многие аспекты проекта, включая сборку и управление проблемами. С .NET Core 1.0 у нас было более 100 репозиториев в ASP.NET, EF и .NET Core. Теперь все изменилось. Мы также перенесли почти все репозитории в dotnet org.
Ознакомьтесь с новыми, консолидированными репозиториями:
Автор: Александр Гуреев
Источник [15]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/c-2/350680
Ссылки в тексте:
[1] Мы также работали: https://devblogs.microsoft.com/dotnet/net-core-is-the-future-of-net/
[2] .NET 5.0 Preview 1 SDK: https://dotnet.microsoft.com/download/dotnet-core/5.0
[3] обновления ASP.NET Core в .NET 5 Preview 1: https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-5-preview-1/
[4] Улучшения для фолдинга null checks: https://github.com/dotnet/runtime/pull/1735
[5] Настройка общего подвыражения (CSE): https://github.com/dotnet/runtime/pull/1463
[6] Оптимизация «constant_string».Length: https://github.com/dotnet/runtime/issues/5310
[7] JIT: создание базовых списков блоков перед морфингом: https://github.com/dotnet/runtime/pull/1309
[8] Fusion Log Viewer: https://docs.microsoft.com/dotnet/framework/tools/fuslogvw-exe-assembly-binding-log-viewer
[9] dotnet-trace: https://docs.microsoft.com/dotnet/core/diagnostics/dotnet-trace
[10] Trace Assembly Loading with Event Pipe: https://github.com/richlander/testapps/tree/master/trace-assembly-loading
[11] сократили количество репозиториев на GitHub: https://github.com/dotnet/runtime/issues/13688
[12] dotnet/runtime: https://github.com/dotnet/runtime
[13] dotnet/aspnetcore: https://github.com/dotnet/aspnetcore
[14] dotnet/sdk: https://github.com/dotnet/sdk
[15] Источник: https://habr.com/ru/post/493390/?utm_source=habrahabr&utm_medium=rss&utm_campaign=493390
Нажмите здесь для печати.