Announcing ASP.NET Core in .NET 7

Daniel Roth

.NET 7 is now released! ASP.NET Core in .NET 7 includes everything you need to build rich modern web UI and powerful back-end services.

What’s new?

Here’s a sampling of the great new features and improvements in ASP.NET Core for .NET 7:

For a full list of everything that’s new in ASP.NET Core in .NET 7, check out the ASP.NET Core in .NET 7 release notes.

Get started

To get started with ASP.NET Core in .NET 7, install the .NET 7 SDK. .NET 7 is also included with Visual Studio 2022. Mac users should use the latest Visual Studio 2022 for Mac preview.

Upgrade an existing project

To upgrade an existing ASP.NET Core app from .NET 6 to .NET 7, follow the steps in Migrate from ASP.NET Core 6.0 to 7.0

To upgrade an existing ASP.NET Core app from .NET 7 RC2 to .NET 7, update all ASP.NET Core package references to 7.0.0.

That’s it! You should be all set to enjoy the benefits of .NET 7.

See also the full list of breaking changes in ASP.NET Core for .NET 7.

Join us for the .NET 7 release at .NET Conf 2022

Come celebrate with us and learn all about the .NET 7 release at .NET Conf 2022, a FREE, three day virtual developer event with over 80 sessions featuring speakers from the .NET team and the broader .NET community. The conference starts TODAY and goes from November 8-10. We hope you can join us!

.NET 7 on Azure

.NET 7 is already deployed and ready to be used across your favorite Azure services, like Azure App Service, Azure Functions, and Azure Static Web Apps. Get started building with .NET 7 on Azure today!

Thank you!

Thank you to everyone in the community who helped make this release of .NET 7 possible! This release represents the culmination of many GitHub issues, pull requests, design feedback comments and documentation updates contributed by many members of the .NET community. We couldn’t have made it to this point without you!

We hope you enjoy this release of ASP.NET Core in .NET 7. We’re eager to hear about your experiences building with it. Let us know about any feedback you have on this release on GitHub.

Thanks again, and happy coding!

34 comments

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


Newest
Newest
Popular
Oldest
  • Steve Wasielewski 0

    I moved over to WASM and having some issue making restful post calls. Am getting 415 error and seem to have a hard time setting the content-type to application/json.
    Am using an httpclient and httprequestmessage, any ideas on what could be the problem?

    Thanks

    Steve

    • Daniel RothMicrosoft employee Author 0

      Hi Steve. POSTing JSON should work fine. We provide a PostAsJson helper method for that purpose. Check the request in the browser dev tools and make sure the request content type header is what you expect.

      • Steve Wasielewski 0

        With a Hosted Blazor app – Can you use a minimal Api approach and not controllers within the server project? Can a hosted solution with its server project hit windows AD just like a Server app?

  • Steve Wasielewski 0

    Can you use Windows AD within Blazor WASM?

  • Rod Macdonald · Edited 0

    I ran the bits for Blazor Hybrid (.NET 7 and the latest VS 17.4) and am planning to stylise the CSS using DevTools. I press CTL+SHFT+I and DevTools opens. I can pick my way thro’ the HTML and CSS, but I can’t seem to get the tools to jump to the right place when I highlight or click on a Blazor Hybrid element in the app. Is there a way of synchronising tools with the app one it’s loaded from VS? Maybe I should be using some kind of Edge/Canary preview?

    On a separate note, is MS creating a clean hybrid project template or is the idea dead?

    Many thanks.

    • Daniel RothMicrosoft employee Author 0

      I can’t seem to get the tools to jump to the right place when I highlight or click on a Blazor Hybrid element in the app

      If you select the browser dev tools and type Ctrl-Shift-C you should then be able to hover over and select UI elements in the app and the dev tools will show the corresponding HTML.

      is MS creating a clean hybrid project template or is the idea dead?

      Clean in what sense? Is there a GitHub issue tracking this request that you can link me to?

      • Rod Macdonald · Edited 0

        Hi Daniel, thank you for your very prompt response, much appreciated.

        Ah, I can finally see this! Both Ctrl+Shft+I and Ctrl+Shft+C are needed, the latter key-set is acting like ‘inspect’ on Edge’s browser context menu, nice!

        Apologies for the poor jargon, should have said ’empty’ rather than ‘clean’. You mentioned the potential feature in a response to my query 1st August (think that was about preview 6) as this was something you were discussing with your colleagues on GitHub: https://github.com/dotnet/maui/issues/9126 – I see there has been further discussion so maybe it’s a feature for .NET 8?

      • Daniel RothMicrosoft employee Author 0

        Yup, we’ll look at adding an empty .NET MAUI Blazor template for .NET 8. Please give the corresponding GitHub issue a 👍 so we know it’s important to you!

      • Rod Macdonald 0

        Hi Daniel, I think I can’t because I previously thumbs’upped in August – but anything I can do to bolster UI development is a must (I even previously asked the XAML team to redesign XAML based on ’embracing and extending’ HTML (one UI stack to rule them all), but hey! R

  • 倉庫 煉 0

    I would like to see something done about the fact that if the Windows account name is mixed with Japanese, the characters are garbled when accessing the temporary file at the time of asp.net issuance and cannot be issued. (deepl translation, Japanese to English)

  • Steve Wasielewski · Edited 0

    Is there a doc out there for Migrating from Blazor Server 6.0 to Blazor WASM 7.0?

    Thanks

    • Daniel RothMicrosoft employee Author 0

      Hi Steve. Great question. I don’t think we’ve formally documented how to switch between Blazor Server and Blazor WebAssembly, but it should be reasonably straightforward. You can create a new Blazor WebAssembly app to see the key pieces needed to setup the app. You can also start by moving your Blazor components out of the Blazor Server project into a Razor Class Library so that they can be reused with any Blazor hosting model. You’ll need to check your component implementations to make sure that they aren’t implemented in a way that is coupled to the server environment. With a Blazor WebAssembly app, any interactions with the server will need to happen over the network. You can often abstract away these interactions with a service interface that you make available through dependency injection. I hope this helps!

      • Steve Wasielewski 0

        Can you use Windows AD with Blazor WASM?

      • Steve Wasielewski 0

        Right now, I’m trying to switch to Server to Wasm in .net core 6.
        Am getting the following error now:
        Severity Code Description Project File Line Suppression State
        Error NETSDK1082 There was no runtime pack for Microsoft.AspNetCore.App available for the specified RuntimeIdentifier ‘browser-wasm’. Internal.App C:\Program Files\dotnet\sdk\6.0.403\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.FrameworkReferenceResolution.targets 430

        We have this app using a minimal Api already, so that shouldn’t be an issue. I did create a regular WASM app and I think I have everything about the same between the 2 solutions, but I still get that error above?

      • Daniel RothMicrosoft employee Author 0

        Hi Steve. Check your Blazor WebAssembly project file and make sure the SDK is set to Microsoft.NET.Sdk.BlazorWebAssembly instead of Microsoft.NET.Sdk.Web.

      • Steve Wasielewski 0

        I have things compiling, but now there is a blank page!

      • Steve Wasielewski · Edited 0

        p>Here is what my project file look like:

            net6.0
            enable
            enable
        

        <ItemGroup>
        <PackageReference Include=”FluentValidation” Version=”11.4.0″ />
        <PackageReference Include=”LMCU.APSComponents” Version=”1.1.8″ />
        <PackageReference Include=”Microsoft.AspNetCore.Components.WebAssembly” Version=”6.0.11″ />
        <PackageReference Include=”Microsoft.AspNetCore.Components.WebAssembly.DevServer” Version=”6.0.11″ />
        <PackageReference Include=”MudBlazor” Version=”6.0.10″ />
        <PackageReference Include=”Serilog.Settings.Configuration” Version=”3.4.0″ />
        <PackageReference Include=”Serilog.Sinks.File” Version=”5.0.0″ />
        <PackageReference Include=”System.Configuration.ConfigurationManager” Version=”7.0.0″ />
        </ItemGroup>

        <ItemGroup>
        <ProjectReference Include=”..\Internal.Bll\Internal.Bll.csproj” />
        <ProjectReference Include=”..\Internal.Domain\Internal.Domain.csproj” />
        <ProjectReference Include=”..\Internal.Utils\Internal.Utils.csproj” />
        </ItemGroup>

        and still get this error: There was no runtime pack for Microsoft.AspNetCore.App available for the specified RuntimeIdentifier ‘browser-wasm

  • Nemo 0

    Please consider building and releasing first party controls for Blazor. I have been using Blazor for the past couple years and has been great, only thing holding it back is the lack of feature rich controls and the need to rely on 3-rd party vendors to fill the gaps. If Microsoft can build a set of standard controls and some high performance controls such as AG Grid for Blazor it would remove one of the major road blocks for wide spread adoption. Thanks.

  • Harold Ricker 0

    I’ve started to do more development in WSL with Ubuntu, I would like to know peoples thoughts about installing DotNet through the Ubuntu package manager rather than in the Windows environment on the computer.

  • Николай Михеев 0

    Hooray! ☺️
    And I’m waiting for when it will be possible to receive Blazor connection parameters, in the form of IP, and so on.
    The conditional HttpContext of the BlazorHub connection.
    And to be able to disconnect it from the server side.
    Is there no such possibility?

    Now all there is is a Circuit where there is only an ID, which gives nothing.

    • Craig Johnson 0

      Have you tried creating a circuit handler? You can also pass in parameters to the root component object from the HttpContext. You could also create middleware and capture other portions of the HttpContext as needed.

  • Jorge Morales Vidal 0

    Great job guys! One thing: The link for the Azure Static Web Apps redirects to Bing, looks like it’s broken.

    • Daniel RothMicrosoft employee Author 0

      Should be fixed now. Thanks!

  • David Taylor 0

    Dan, unfortunately I think the new @bind:after blazor feature is broken in the RTM release. I just created an issue on gibhub:
    https://github.com/dotnet/aspnetcore/issues/44957
    Then I noticed the github issue created before mine appears to be related (where they upgraded from a .NET 7 RC version to RTM and the same issue appeared).
    It would be great if someone from the team could quickly review and if needed get a patch out for the RTM release given this is all being discussed at .NET Conf right now (it will be confusing if people try this… and they will probably think they are doing something wrong themself).

    • Daniel RothMicrosoft employee Author 0

      Hi David. Yup, this is an unfortunate known issue due to a dependency flow issue that was discovered late. It will be addressed in the next path update to .NET 7. in Dec.

Feedback usabilla icon