Microsoft представил .NET 5.0 Preview 6
Microsoft представил .NET 5.0 Preview 6
.NET 5.0 Preview 6 содержит небольшой набор новых функций и улучшений производительности.
Вы можете скачать .NET 5.0 Preview 6, для Windows, macOS и Linux:
- Установщики Windows и macOS https://dotnet.microsoft.com/download/dotnet/5.0
- Полный список https://dotnet.microsoft.com/download/dotnet/5.0
- Образы Docker https://hub.docker.com/_/microsoft-dotnet
- Snap-установщик https://snapcraft.io/dotnet-sdk
ASP.NET Core и EF Core также были выпущены на прошлой неделе. Примечание: EF Core 5.0 не будет поддерживать .NET Standard 2.0 или .NET Framework.
Вам нужно использовать Visual Studio 2019 16.7 для работы с .NET 5.0. .NET 5.0 теперь поддерживается в Visual Studio for Mac. Установите последнюю версию расширения C# для использования .NET 5.0 с Visual Studio Code.
Обновление Windows ARM64
SDK Preview 6 теперь включает поддержку Windows Forms. Это означает, что вы можете создавать и запускать приложения Windows Forms на устройствах Windows ARM64, так же, как на x64.
В Visual Studio 16.7 ожидается поддержка удаленного отладчика Visual Studio .NET для Windows ARM64. Вскоре после этого появится поддержка удаленного отладчика Visual Studio Code .NET. Чтобы избежать путаницы, эта поддержка относится к работе Visual Studio или Visual Studio Code на компьютере x64 и удаленному подключению к работающему приложению .NET на компьютере Windows ARM64. Кроме того, Visual Studio Code добавляет поддержку ARM64. Мы добавим поддержку расширения C# и отладчика .NET, работающих в версии Visual Studio Code для Windows ARM64, однако даты пока неизвестны.
Windows Forms
Пользователи Visual Basic привыкли делать так, чтобы их приложения были single-instanced (один экземпляр запускался за раз). Это поведение теперь доступно через WindowsFormsApplicationBase.IsSingleInstance.
Команда добавила поддержку свертывания в ListViewGroup. Это изменение облегчает управление формой с несколькими ListViewGroups.
Улучшение качества кода RyuJIT
Команда RyuJIT продолжает вносить действительно важные улучшения, превью за превью.
- Основные улучшения
- Улучшения Struct
- Оптимизация для удаления избыточных нулевых инициализаций
- Ход реализации аппаратных встроенных функций ARM64
- Реализация Duplicate и DuplicateSelectedScalar
- ASIMD Shift Intrinsics
- Polynomial Multiply Long Intrinsics
- Оптимизация методов Vector64 и Vector128.Create
- Оптимизация ToScalar() и GetElement() для использования интринсиков arm64
- Оптимизация ToVector128, ToVector128Unsafe и Vector128.GetLower()
- Улучшения в сгенерированном коде ARM64: значительно уменьшен размер кода ARM64
- Оптимизация непрямых вызовов для сценариев R2R, Arm и Arm64
- Оптимизация virtual call stub для R2R и JIT
Однофайловые приложения
Улучшена поддержка однофайловых приложений в .NET 5. Цель — упростить публикацию приложения в виде одного файла для Windows, macOS и Linux. Приложениям «одного файла» Windows требуется несколько дополнительных runtime-файлов. Добавлена новая опция для включения собственных двоичных файлов и любого дополнительного содержимого (например, изображений) в один файл. Эти файлы будут извлечены при первом запуске. Приложения, предназначенные для Linux и macOS, не должны использовать эту опцию для собственных двоичных файлов среды выполнения, если только они не хотят использовать ее для мультимедиа или другого контента.
Текущие ограничения:
- В Linux единый файл с подключенными runtime-компонентами все еще должен существовать. Поэтому собственные двоичные файлы среды выполнения будут публиковаться в виде отдельных файлов (аналогично интерфейсу Windows).
- В Linux готовые к запуску сборки, встроенные в пакет, загружаются как сборки IL.
За прошедшие годы Microsoft увидел множество моделей хостинга для .NET в нативных приложениях.
Два основных PR:
- Включить вызов get_runtime_delegate из контекста приложения
- Реализация hdt_get_function_pointer
Поддержка платформ
Обновлена страница .NET 5 — Поддерживаемые версии ОС, чтобы отразить последние планы по поддержке платформы .NET 5.0.
Менеджер пакетов и поддержка контейнеров, которые предлагаются, не указаны на этой странице. Это должно быть исправлено. Планируется добавление этой информации до выпуска .NET 5.0.