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

Daniel Roth

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!

43 comments

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

  • mohammad toosi 0

    Thanks Mr.Roth
    Good luck.

  • Rod Macdonald 0

    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.

    • Daniel RothMicrosoft employee 0

      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 Linux devs equally.

      Daniel Roth

      • Rod Macdonald 0

        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 should not have done so.

        I refer back to a .NET conference Birmingham (UK) November 2000. It was a ‘2 silo’ approach – WinForms and WebForms. Around and beyond the Silverlight debacle, the number of (often pseudo) silos has been increasing: Web; Mobile; Desktop; IoT; MVC, Xamarin, WPF…

        To complicate matters further and indeed make things worse for Windows devs, particularly when UI progress has been frustrated on account of mobile hardware, Windows devs have suffered in silence so that MS might embrace devs from other OS backgrounds.

        I say to you that finally I am looking at Flutter and Dart and Kotlin because I am tired of waiting and waiting and waiting for MS to wake up and realise that ‘the screen’ – AKA ‘Windows – ‘AKA ‘Surface’ – tied to services, is the way to evolve beyond the mobile bubble. That is why Blazor is so exciting, yet so frustratingly slow to evolve that we will have to wait to November 2020 to truly be able to rely upon. Meanwhile kudos to UNO for their straight forward thinking, even embracing SVG.

        I try to remain enthusiastic and patient.

        Yours sincerely,
        Rod

  • Ben Hayat 0

    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

  • Pavel Zika 0

    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.

  • Gerard Lanphear 0

    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 0

      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.

  • Alessandro Curti 0

    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.

  • Jan Wesseler 0

    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()

  • Andrew Stephens 0

    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 their servers, so the files in the _framework\bin\ folder get deleted as soon as I upload them.

    I don’t know if this is even possible, but couldn’t you give these DLLs a different extension (e.g. “dl_”) when publishing the site from Visual Studio, then rename the files during download to the client (browser) device?

    • Daniel RothMicrosoft employee 0

      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 0

        Done. Thanks for the quick reply.

  • Linh Nguyen 0

    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

  • John Rummell 0

    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?

Feedback usabilla icon