September 23rd, 2019

ASP.NET Core and Blazor updates in .NET Core 3.0

Daniel Roth
Principal Product Manager

ASP.NET Core and Blazor updates in .NET Core 3.0

Today we are thrilled to announce the release of .NET Core 3.0! .NET Core 3.0 is ready for production use, and is loaded with lots of great new features for building amazing web apps with ASP.NET Core and Blazor.

Some of the big new features in this release of ASP.NET Core include:

  • 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.

You can find all the details about what’s new in ASP.NET Core in .NET Core 3.0 in the What’s new in ASP.NET Core 3.0 topic.

See the .NET Core 3.0 release notes for additional details and known issues.

Get started

To get started with ASP.NET Core in .NET Core 3.0 install the .NET Core 3.0 SDK.

If you’re on Windows using Visual Studio, install Visual Studio 2019 16.3, which includes .NET Core 3.0.

Note: .NET Core 3.0 requires Visual Studio 2019 16.3 or later.

There is also a Blazor WebAssembly preview update available with this release. This update to Blazor WebAssembly still has a Preview 9 version, but carries an updated build number. Blazor WebAssembly is still in preview and is not part of the .NET Core 3.0 release.

To install the latest Blazor WebAssembly template run the following command:

dotnet new -i Microsoft.AspNetCore.Blazor.Templates::3.0.0-preview9.19465.2

Upgrade an existing project

To upgrade an existing ASP.NET Core app to .NET Core 3.0, follow the migrations steps in the ASP.NET Core docs.

See the full list of breaking changes in ASP.NET Core 3.0.

To upgrade an existing ASP.NET Core 3.0 RC1 project to 3.0:

  • Update all Microsoft.AspNetCore.* and Microsoft.Extensions.* package references to 3.0.0
  • Update all Microsoft.AspNetCore.Blazor.* package references to 3.0.0-preview9.19465.2

That’s it! You should now be all set to use .NET Core 3.0!

Join us at .NET Conf!

Please join us at .NET Conf to learn all about the new features in .NET Core 3.0 and to celebrate the release with us! .NET Conf is a live streaming event open to everyone, and features talks from many talented speakers from the .NET team and the .NET community. Check out the schedule and attend a local event near you. Or join the Virtual Attendee Party for the chance to win prizes!

Give feedback

We hope you enjoy the new features in this release of ASP.NET Core and Blazor in .NET Core 3.0! We are eager to hear about your experiences with this latest .NET Core release. Let us know what you think by filing issues on GitHub.

Thanks for using ASP.NET Core and Blazor!

Author

Daniel Roth
Principal Product Manager

Daniel Roth is a Program Manager on the ASP.NET team at Microsoft.

43 comments

Discussion is closed. Login to edit/delete existing comments.

  • John Rummell

    Where can we find more information about “Generate strongly typed client code for Web APIs with OpenAPI documents”? Is this similar to Refit or is there a way to generate client code?

  • Linh Nguyen

    I tried blazor with simple Timer so it executes every few seconds..

    The timer object does kick in, however the UI not updated?

    For example,

    on the server side, I have count++;

    but @count not updated on the UI?

    Thanks

  • Andrew Stephens

    I've only had a very quick play with Blazor, and was particularly interested to see how easy a "standalone" deployment would be; I might not want to pay for IIS or Azure hosting, or there might be no need for it (e.g. a website with no server-side functionality).

    I immediately hit an issue whereby my hosting company (and I'm sure most others that offer this kind of basic hosting) don't permit DLLs to be uploaded to...

    Read more
    • Daniel RothMicrosoft employee Author

      Hi Andrew,

      Yes, we’ve seen variants of this issue with Blazor WebAssembly apps and we are tracking providing a solution here: https://github.com/aspnet/AspNetCore/issues/5477. Could you please share with us on the GitHub issue which hosting company you hit this issue with so that we can make sure we test and address your scenario?

      • Andrew Stephens

        Done. Thanks for the quick reply.

  • Jan Wesseler

    While upgrading to ASP.NET 3.0 I´ve encountered a problem while migrating the Startup.cs.
    Since UseMvc is not available anymore, how do I migrate my use-case scenario?

    Code used for ASP.NET 2.2:
    app.UseMiddleware(app.ApplicationServices.GetService())
    .UseMvc()

  • Alessandro Curti

    Hi Daniel,

    what about Authentication support for Web APIs and single-page apps integrated with IdentityServer?
    I can’t find any reference to it in the release note.
    Could you please detail it a little more?

    Thank you,
    A.

  • Gerard Lanphear

    I am going to be presenting Blazor as a platform for replacing a Silverlight Project. I don’t want to get down the development road and find that there are front-end controls that don’t exist. Is there such a list of such controls that pertains to this current release?

    • Daniel RothMicrosoft employee Author

      Hi Gerard,

      Blazor ships with very few built-in UI components. Instead, Blazor provides the component model and relies on the community and ecosystem to provide component libraries that fill common needs. You can find quality component libraries from popular vendors like Telerik, DevExpress, Syncfusion, and Radzen, as well as a variety of open source component libraries from the community.

      Read more
  • Pavel Zika

    Blazor will be a game changer for me when it allows to call some Azure services (SQL server, Azure Storage etc.) from the client directly.
    And when it allows to run the Entity Framework on the client.

    After that, it can start a new era of serverless applications development.

  • Ben Hayat

    Dan, that was VERY, VERY nice of Scott Hunter to sayL
    “if it wasn’t because of Dan, we wouldn’t have Blazor”.

    Although many people were involved, but you fueled the fire to get developers excited to push MSFT to go with Blazor.

    So, a TRUE congrats from all of us Dan.
    ..Ben

  • Rod Macdonald

    With all the focus on making .NET work with Linux and VS Code with Mac, I'm concerned looking at the Blazor and .NET 5 timelines things aren't moving fast enough for Windows devs (including those of the ASP.NET sort). Can I please ask if there are enough resources being attributed to Blazor?

    I hope you didn't get that jacket and cushion to lie down on because you're the sole dev! (Joking!)

    Thank you.

    Read more
    • Daniel RothMicrosoft employee Author

      Hi Rod,

      I'm actually a Program Manager, not a dev :). The real engineering work for Blazor is done by the Blazor software engineering team, which is in turn supported by the broader .NET team and our fantastic Blazor community. We share your desire to move Blazor along as quickly as possible, and we are doing everything we can to make that happen. Since we are a cross-platform framework, these efforts should benefit Windows, Mac, and...

      Read more
      • Rod Macdonald

        Hi Daniel,

        Part of my comment is of course in jest, and you should be under no illusion that I much respect your position. However, the other part of my comment perhaps belies a more serious tenet that it is OK for MS to mistakenly assume Windows devs will remain eternally faithful and never abandon the MS ship, and why should they with the best VS tools? Yet MS lost in the mobile space when it...

        Read more
  • mohammad toosi

    Thanks Mr.Roth
    Good luck.