4 min read

Yesterday, at the ongoing .NET Conference 2019, NET Core 3.0 was released along with ASP.NET Core 3.0 and Blazor updates. C#8 and F# 4.7 is also a part of this release. Entity Framework Core 3.0 and Entity Framework 6.3 are now generally available.

What’s new in .NET Core 3.0

.NET Core 3.0 now includes adding Windows Forms and WPF (Windows Presentation Foundation), adding new JSON APIs, support for ARM64, and improving performance across the board. Here are the key highlights:

Support for Windows Desktop apps

.NET Core supports Windows Desktop apps for both Windows Forms and WPF (and open source). The WPF designer is part of Visual Studio 2019 16.3, which was also released yesterday. This includes new templates and an updated XAML designer and XAML Hot Reload. The Windows Forms designer is still in preview and available as a VSIX download.

Support for C# 8 and F# 4.7

C# 8 was released last week and adds async streams, range/index, more patterns, and nullable reference types. F# 4.7 was released in parallel to .NET Core 3.0 with a focus on infrastructural changes to the compiler and core library and some relaxations on previously onerous syntax requirements. It also includes support for LangVersion and ships with nameof and opening of static classes in preview.

Read Also: Getting started with F# for .Net Core application development [Tutorial]

.NET Core apps now have executables by default

This means apps can now be launched with an app-specific executable, like myapp or ./myapp, depending on the operating system.

Support for new JSON APIs

High-performance JSON APIs have been added, for reader/writer, object model, and serialization scenarios. These APIs minimize allocations, resulting in faster performance, and much less work for the garbage collector.

Support for Raspberry Pi and Linux ARM64 chips

These chips enable IoT development with the remote Visual Studio debugger. You can deploy apps that listen to sensors, and print messages or images on a display, all using the new GPIO APIs. ASP.NET can be used to expose data as an API or as a site that enables configuring an IoT device.

Read Also: .NET Core 3.0 Preview 6 is available, packed with updates to compiling assemblies.

.NET Core 3.0 is a ‘current’ release and will be available with RHEL 8. It will be superseded by .NET Core 3.1, targeted for November 2019. If you’re on .NET Core 2.2 you have until the end of the year to update to 3.1, which will be LTS. You can read a detailed report of all .NET Core 3.0 features.

What’s new in ASP.NET Core 3.0

ASP.NET Core 3.0 is also released in parallel to .NET Core for building web apps. Notably, ASP.NET Core 3.0 has Blazor, a new framework in ASP.NET Core for building interactive client-side web UI with .NET. With Blazor, you can create rich interactive UIs using C# instead of JavaScript. You can also share server-side and client-side app logic written in .NET. Blazor renders the UI as HTML and CSS for wide browser support, including mobile browsers.

Other updates in ASP.NET Core 3.0:

  • You can now create high-performance backend services with gRPC.
  • SignalR now has support for automatic reconnection and client-to-server streaming.
  • 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.
  • New generic host sets up common hosting services like dependency injection (DI), configuration, and logging.
  • New Worker Service template for building long-running services.

For a full list of features, visit Microsoft Docs.

Entity Framework Core 3.0 and Entity Framework 6.3 are now generally available with C# 8

As a part of the .NET Core 3.0 release, Entity Framework Core 3.0 and Entity Framework 6.3 are now generally available on nuget.org.

New updates in EF Core 3.0 include:

  • Newly architectured LINQ provider to translate more query patterns into SQL, generating efficient queries in more cases, and preventing inefficient queries from going undetected.
  • Cosmos DB support to help developers familiar with the EF programming model to easily target Azure Cosmos DB as an application database.

EF 6.3 brings the following new improvements to the table:

  • With support for .NET Core 3.0, the EF 6.3 runtime package now targets .NET Standard 2.1 in addition to .NET Framework 4.0 and 4.5.
  • Support for SQL Server hierarchyid
  • Improved compatibility with Roslyn and NuGet PackageReference
  • Added the ef6.exe utility for enabling, adding, scripting, and applying migrations from assemblies. This replaces migrate.exe

.NET Core 3.0 is a major new release of .NET Core. Developers have widely appreciated the announcement.

Interested developers can start updating their existing projects to target .NET Core 3.0. The release is compatible with earlier .NET Core versions which makes updating easier.

Other interesting news in Tech

Introducing Weld, a runtime written in Rust and LLVM for cross-library optimizations.

Chrome 78 beta brings the CSS Properties and Values API, the native File Systems API and more.

LLVM 9 releases with official RISC-V target support, asm goto, Clang 9 and more.

Content Marketing Editor at Packt Hub. I blog about new and upcoming tech trends ranging from Data science, Web development, Programming, Cloud & Networking, IoT, Security and Game development.