With this new release, we are pleased to announce that
Blazor is now in the preview stage ! Blazor is no longer experimental, and we are committed to providing it as a supported web-based framework, including support for running on the client side in a WebAssembly browser.
Just over a year ago, we launched the Blazor pilot project to create a client-side web-based framework based on .NET and WebAssembly. At the time, Blazor was a bit more than a prototype, and there were many open questions about the viability of running .NET in a browser. Since then, we have released nine Blazor experimental releases on various issues, including component model, data binding, event handling, routing, layouts, application size, hosting models, debugging, and tools. We are now at a point where we think Blazor is ready to take its next step.
Simplify naming and version control
Earlier in some cases, we used the terminology of
Razor Components , and in other
Blazor . This was confusing, therefore, following numerous community reviews, we decided to abandon the name of
ASP.NET Core Razor Components and instead return to the name
Server-side Blazor .
This emphasizes that Blazor is a model of a single client application with several hosting models:
')
- Server-side Blazor - running on the server via SignalR
- Client-side Blazor - client-side working on WebAssembly
... but in any case, it’s still the same programming model. The same blazor components can be placed in both environments.
Also, since Blazor is now part of .NET Core, client-side versions of Blazor packages now correspond to .NET Core 3.0 versions. For example, the version number of all the preview packages that we ship today is
3.0.0-preview4-19216-03 . We no longer use separate
0.x version numbers for Blazor client-side packages.
What and when will be delivered
- Server-side Blazor will ship as part of .NET Core 3.0. This was already announced last October.
- Client-side Blazor will not ship as part of the original .NET Core 3.0 release, but now we are announcing that it will be delivered as part of the future .NET Core release (and therefore no longer an “experiment”).
With each preview release of .NET Core 3.0, we will continue to deliver previews of both the server and client versions of Blazor.
Today's preview release
New features in this preview version:
- Updated templates to use the .razor file extension.
- _Imports.razor
- Scope components with using
- New component element template
- New Blazor Icons
- Blazor support in Visual Studio Code
Check out the
announcement of ASP.NET Core 3.0 Preview 4 for more information about these improvements. See also the Blazor
release notes for more information about this preview version.
Get a preview of Blazor
To get started with the preview version of Blazor, install the following:
- .NET Core 3.0 Preview 4 SDK (3.0.100-preview4-011223)
- Blazor templates via the command line:
dotnet new -i Microsoft.AspNetCore.Blazor.Templates::3.0.0-preview4-19216-03
- Visual Studio 2019 Preview with ASP.NET and selected web development workload, as well as the latest Blazor extension from the Visual Studio Marketplace or Visual Studio Code with the latest version of the C # extension (now with Blazor support !).
You can find Blazor start-up instructions, documentation, and training materials on our new Blazor homepage -
blazor.net .

Upgrade to Blazor Preview Version
To upgrade existing Blazor applications to preview, first make sure that the necessary components listed above are installed, and then follow these steps:
- Update all Microsoft.AspNetCore.Blazor. * Package links to 3.0.0-preview4-19216-03.
- Remove all references to the packages on Microsoft.AspNetCore.Components.Server.
- Remove all DotNetCliToolReference in Microsoft.AspNetCore.Blazor.Cli and replace them with the link to Microsoft.AspNetCore.Blazor.DevServer.
- In Blazor client projects, delete properties
and
. - In Blazor client projects add a property
. - Rename all _ViewImports.cshtml files to _Imports.razor .
- Rename any remaining .cshtml files to .razor.
- Rename components.webassembly.js to blazor.webassembly.js
- Remove any use of the Microsoft.AspNetCore.Components.Services namespace and, if necessary, replace it with Microsoft.AspNetCore.Components .
- Update server projects to use endpoint routing:
- Run dotnet clean in the solution to clear the old Razor declarations.
The Blazor community page is now awesome blazor
As part of the
Blazor site
update, we decided to remove the Blazor community page and instead direct people to the community-driven
Awesome Blazor website . Thank you, Adrien Torris, for maintaining this really amazing list of Blazor resources!
View the Blazor-UI preview from Telerik, DevExpress and Syncfusion
Blazor is developing with the help of an active and supportive community that has added all possible examples of applications, components and libraries to the Blazor ecosystem. Recently, popular component suppliers such as
Telerik ,
DevExpress, and
Syncfusion joined us and introduced the Blazor UI preview components. We encourage you to try these Blazor UI options and let them know what you think.
Give feedback
We hope you enjoy this preview of Blazor. As in previous releases, your feedback is very important. If you have any problems or questions during a Blazor trial, you can
write to GitHub . You can also contact us and the Blazor community on
Gitter if you are stuck or want to share how Blazor works for you. After you test Blazor for some time, please let us know what you think by taking part in our survey. Click on the survey link shown on the application's home page when launching one of the Blazor project templates:

Thank you for trying Blazor!