It includes many improvements, including adding Windows Forms and WPF, adding new JSON APIs, support for ARM64 and improving performance across the board. C# 8 is also part of this release, which includes nullable, async streams, and more patterns.
...
.NET Standard 2.1 includes types since .NET Core 2.1.
...
.NET Core has been hardened for Docker to enable .NET applications to work predictably and efficiently in containers. The garbage collector and thread pool have been updated to work much better when a container has been configured for limited memory or CPU. .NET Core docker images are smaller, particularly the SDK image.
... Using Declarations
Are you tired of using statements that require indenting your code? No more! You can now write the following code, which attaches a using declaration to the scope of the current statement block and then disposes the object at the end of it.
... IEEE Floating-point improvements
Floating point APIs have been updated to comply with IEEE 754-2008 revision. The goal of the .NET Core floating point project is to expose all “required” operations and ensure that they are behaviorally compliant with the IEEE spec.
... .NET Platform Dependent Intrinsics
We’ve added APIs that allow access to certain performance-oriented CPU instructions, such as the SIMD or Bit Manipulation instruction sets.
... Cryptography
We added support for AES-GCM and AES-CCM ciphers, implemented via System.Security.Cryptography.AesGcm and System.Security.Cryptography.AesCcm. These algorithms are both Authenticated Encryption with Association Data (AEAD) algorithms, and the first Authenticated Encryption (AE) algorithms added to .NET Core.
... Other API Improvements
We optimized Span<T>, Memory<T> and related types that were introduced in .NET Core 2.1. Common operations such as span construction, slicing, parsing, and formatting now perform better.
... Applications now have native executables by default
.NET Core applications are now built with native executables. This is new for framework-dependent application. Until now, only self-contained applications had executables.
... Optimize your .NET Core apps with ReadyToRun images
You can improve the startup time of your .NET Core application by compiling your application assemblies as ReadyToRun (R2R) format. R2R is a form of ahead-of-time (AOT) compilation.
... .NET Core SDK Size Improvements
The .NET Core SDK is significantly smaller with .NET Core 3.0.
Здравствуйте, BlackEric, Вы писали:
BE>Для WinForms дизайнер так и не сделали, хотя проект запустился. Для WPF вроде бы работает.
...The first preview version of the Windows Forms Designer for .NET Core projects is available today! We are in the very early days of the designer, so it’s available as a Visual Studio extension (“VSIX”).
Build rich interactive client-side web apps using C# instead of JavaScript using Blazor).
Create high-performance backend services with gRPC.
SignalR now has support for automatic reconnection and client-to-server streaming.
Generate strongly typed client code for Web APIs with OpenAPI documents.
Endpoint routing integrated through the framework.
HTTP/2 now enabled by default in Kestrel.
Authentication support for Web APIs and single-page apps integrated with IdentityServer
Support for certificate and Kerberos authentication.
Integrates with the new System.Text.Json serializer.
New generic host sets up common hosting services like dependency injection (DI), configuration, and logging.
New Worker Service template for building long-running services.
New EventCounters created for requests per second, total requests, current requests, and failed requests.
Startup errors now reported to the Windows Event Log when hosted in IIS.
Request pipeline integrated with with System.IO.Pipelines.
Performance improvements across the entire stack.
и солнце б утром не вставало, когда бы не было меня
Q>Я не видел; это комментарий в какой-то старой теме, на которую я не подписан.
Y>>А что, с 2017 никак нельзя?
Q>Можно поставить отдельно .NET Core 3.0 SDK и работать из Visual Studio Code. Можно ли с Visual Studio 2017 — не знаю; вероятно, можно.
I wouldn't be so sure:
If you choose to install .NET Core 3.0 independently, and wish to use it with Visual Studio, make sure you meet the minimum version requirements.
Visual Studio 2019 v16.3 or later. Make sure you update Visual Studio to the most recent release. To find a version of .NET Core that can be used with earlier versions of Visual Studio, see .NET SDKs for Visual Studio.
Visual Studio 2019 for Mac v8.3 or later. Make sure you update Visual Studio for Mac to the most recent release. To find a version of .NET Core that can be used with earlier versions of Visual Studio for Mac, see Visual Studio for Mac .NET Core support.
Visual Studio 2019 16.3 and Visual Studio for Mac 8.3 were also released today and are required update to use .NET Core 3.0 with Visual Studio. .NET Core 3.0 is part of Visual Studio 2019 16.3. You can just get .NET Core by simply upgrading Visual Studio 2019 16.3.
Здравствуйте, BlackEric, Вы писали:
BE>Для WinForms дизайнер так и не сделали, хотя проект запустился. Для WPF вроде бы работает.
А у меня ещё смешнее — студию проапгрэйдил, десктоп-разработка включена, но когда открываю xaml-форму, виден только XML — самого вида формы нет! Как так?
Здравствуйте, Qbit86, Вы писали:
Q>support for ARM64
Возможно, это никому не интересно, просто опыт.
Решал задачу запуска c# программы на Raspberry PI. Оказалось всё просто: скачиваем dotnet core SDK (причём 32-битный, потому что для Малины не существует 64-битного Raspbian), распаковываем — всё, можно юзать.
На венде пишем core-прогу, делаем ей publish for linux-arm, не self-contained-package. Полученные файлы отправляем на Малину, запускаем — всё работает.
К счастью, пока UI не нужен.
Здравствуйте, Kolesiki, Вы писали:
K>Здравствуйте, Qbit86, Вы писали:
Q>>support for ARM64
K>Возможно, это никому не интересно, просто опыт. K>Решал задачу запуска c# программы на Raspberry PI. Оказалось всё просто: скачиваем dotnet core SDK (причём 32-битный, потому что для Малины не существует 64-битного Raspbian), распаковываем — всё, можно юзать. K>На венде пишем core-прогу, делаем ей publish for linux-arm, не self-contained-package. Полученные файлы отправляем на Малину, запускаем — всё работает. K>К счастью, пока UI не нужен.
Прикольно, скачал 3 для linux. 2 прописана в PATH.
Проект созданный под 2 собрал в 3, указав полный путь к 3, при запуске ругается на версию SDK.
Почему в jdk я того не помню? Странное поведение: build — ok, run — fail.
Наверно зря я в свое время забил на джаву.