В конце прошлого года мы выпустили .
NET Core 3.0 и 3.1. В эти версии добавлены модели настольных приложений Windows Forms (WinForms) и WPF, ASP.NET Blazor для создания одностраничных приложений и gRPC для межплатформенного обмена сообщениями на основе контрактов.
Также мы добавили шаблоны для создания сервисов, классную генерацию клиентского кода для взаимодействия с gRPC, сервисы REST API и многое другое.
Мы очень рады тому, что .
NET Core 3 стала самой быстро внедряемой версией .
NET, и за последний год к нам присоединился еще миллион пользователей.
Мы также работали в этих выпусках, чтобы завершить миграцию моделей приложений из .
NET Framework. В .
NET Core 3 мы портировали все наиболее используемые модели приложений, а также представили новые кроссплатформенные фреймворки взамен непортированных.
В ожидании следующего основного выпуска .
NET 5 мы продолжим объединять .
NET в единую платформу, включив в .
NET 5 нашу модель мобильных приложений .
NET (Xamarin).
.
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.
Установка .
NET 5.0 (предварительная версия 1) Сегодня мы выпускаем первую предварительную версию .
NET 5, полную версию которой планируется выпустить позднее в ноябре этого года.
Читать Обновления ASP.NET Core в .
NET 5 Preview 1
чтобы узнать о сегодняшнем выпуске ASP.NET Core. Предварительная версия 1 впервые включает поддержку Windows ARM64. Сегодняшний выпуск также включает среду выполнения .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>
5 главных целей .
NET
- Опыт использования унифицированного .
NET SDK:
- Одна BCL (библиотека базовых классов) для всех приложений .
NET 5. Сегодня приложения Xamarin используют Mono BCL, но будут перенесены на использование .
NET Core BCL, что улучшит совместимость между нашими моделями приложений.
- Разработка мобильных приложений (Xamarin) интегрирована в .
NET 5. Это означает, что пакет SDK для .
NET будет поддерживать мобильные устройства.
Например, вы можете использовать «dotnet new XamarinForms» для создания мобильного приложения.
- Одна BCL (библиотека базовых классов) для всех приложений .
- Собственные приложения, поддерживающие несколько платформ.
Проект «Одно устройство» поддерживает приложение, которое может работать на нескольких устройствах, таких как Window Desktop, Microsoft Duo (Android) и iOS, с использованием встроенных элементов управления, поддерживаемых на этих платформах.
- Веб-приложения, поддерживающие несколько платформ: один проект Blazor, поддерживающий приложение, которое может работать в браузерах, на мобильных устройствах и как собственное настольное приложение (например, Windows 10x).
- Облачные приложения: высокопроизводительные микросервисы с одним файлом (.
exe).
<50 MB and support for creating multiple projects (APIs, web interfaces, containers) both on-premises and in the cloud.
- Постоянные улучшения, такие как: более быстрые алгоритмы в BCL, улучшения поддержки среды выполнения контейнеров, поддержка HTTP3.
Улучшения в предварительной версии 1
Следующие улучшения в предварительной версии 1:Улучшения производительности регулярных выражений
Мы вложили значительные средства в движок Regex. Во многих протестированных нами выражениях эти улучшения обычно приводят к повышению производительности в 3–6 раз, а в некоторых случаях и намного больше.Скоро в блоге появится сообщение, в котором эти улучшения будут описаны более подробно.
Улучшение качества кода в RyuJIT
Каждый выпуск включает набор улучшений производительности кода, генерирующего JIT. Мы называем этот тип улучшения «CQ» или качеством кода.В большинстве случаев эти улучшения также применяются к коду, созданному для готовых к запуску образов.
- Улучшения для свертывания нулевых проверок – Устраните необходимость генерировать проверки на null в большем количестве случаев, наблюдая за большим количеством шаблонов, в которых проверки на null, вероятно, не нужны.
- Настройка общего подвыражения (CSE) – JIT находит и сворачивает повторяющиеся выражения, которые необходимо вычислить только один раз.
- Оптимизация "constant_string".
Длина
– Оптимизация этого шаблона и свертывание кода до правильного целочисленного значения. - JIT: создание базовых списков блоков перед морфингом – Изменение порядка этапов JIT, чтобы ключевые оптимизации можно было использовать раньше, что приводит к повышению качества кода и уменьшению объема работы на последующих этапах, увеличивая пропускную способность JIT («TP» в справочном PR).
Диагностика нагрузки сборки добавлена в канал событий.
Мы добавили информацию о загрузке сборки в канал событий.
Это улучшение знаменует начало доступности аналогичных диагностических функций, которые являются частью .
NET Framework с Средство просмотра журнала Fusion .
Теперь вы можете использовать DotNet-трассировка собрать эту информацию с помощью следующей команды: dotnet-trace collect --providers Microsoft-Windows-DotNETRuntime:4:4 --process-id [process ID]
Порядок работы описан в разделе Трассировка загрузки сборки с помощью канала событий .
Вы можете просмотреть информацию о загрузке сборки для простого тестового приложения.
API профилирования событий (канал событий)
Event Pipe — это новая подсистема и API, которые мы добавили в .NET Core 2.2, чтобы обеспечить возможность запуска производительности и другой диагностики в любой операционной системе.
В .
NET 5.0 канал событий был расширен, чтобы позволить профилировщикам записывать события канала событий.
Этот сценарий важен для инструментов профилирования, которые ранее использовали ETW для мониторинга поведения и производительности приложений.
Объединение репозиториев GitHub
В рамках выпуска .NET 5 мы уменьшено количество репозиториев на GitHub , которые использовались для создания и упаковки .
NET. Границы репозитория оказывают существенное влияние на многие аспекты проекта, включая управление сборкой и проблемами.
В .
NET Core 1.0 у нас было более 100 репозиториев в ASP.NET, EF и .
NET Core. Теперь все изменилось.
Мы также переместили почти все репозитории в dotnet org. Ознакомьтесь с новыми консолидированными репозиториями:
- дотнет/время выполнения (были dotnet/corefx, dotnet/coreclr и dotnet/core-setup)
- дотнет/аспнеткор (в aspnet org было много репозиториев)
- дотнет/СДК (были dotnet/sdk, dotnet/cli)
NET #.
net 5
-
Никто Не Будет Похоронен
19 Oct, 24 -
Что Говорит Нам Whois Сегодня?
19 Oct, 24 -
Новые Возможности Хабра
19 Oct, 24 -
Ремарт: Как Я Создавал Свой Бизнес
19 Oct, 24 -
Создание Симулятора Солнечной Системы
19 Oct, 24