Once you've installed, open a new command prompt and run the following command:
Once you've installed, open a new terminal and run the following command:
Terminal
dotnet
If the installation succeeded, you should see an output similar to the following:
Command prompt
Usage: dotnet [options]Usage: dotnet [path-to-application]Options:-h|--help Display help.--info Display .NET information.--list-sdks Display the installed SDKs.--list-runtimes Display the installed runtimes.path-to-application:The path to an application .dll file to execute.
Got an error?
If you receive a 'dotnet' is not recognized as an internal or external command error, make sure you opened a new command prompt. If you can't resolve the issue, use the I ran into an issue button to get help fixing the problem.
Create your app
In your command prompt, run the following command to create your app:
In your terminal, run the following command to create your app:
Terminal
dotnet new blazorserver -o BlazorApp --no-https
This command creates your new Blazor app and places it in a new directory called BlazorApp inside your current location.
Navigate to the new BlazorApp directory created by the previous command:
Terminal
cd BlazorApp
Take a quick look at the contents of the BlazorApp directory. Several files were created in the BlazorApp directory, to give you a simple Blazor app that is ready to run.
Program.cs is the entry point for the app that starts the server.
Startup.cs is where you configure the app services and middleware.
App.razor is the root component for the app.
The BlazorApp/Pages directory contains some example web pages for the app.
BlazorApp.csproj defines the app project and its dependencies.
Take note of the BlazorApp directory path as you will use it later in the tutorial.
Got an error?
If you receive a message similar to Template "Blazor Server App" could not be created. Access to the path 'C:\Windows\System32\BlazorApp' is denied, change your current directory to one where you have permissions to create a new folder and try to run the command again. If you can't resolve the issue, use the I ran into an issue button to get help fixing the problem.
Run your app
In your command prompt, run the following command:
In your terminal, run the following command:
Terminal
dotnet run
Wait for the command to display that it's listening on http://localhost:5000 and then, open a browser and navigate to that address.
Once you get to the following page, you have successfully run your first Blazor app!
The displayed page is defined by the Pages/Index.razor file. This is what its contents look like:
Pages/Index.razor
@page "/"<h1>Hello, world!</h1>Welcome to your new app.<SurveyPrompt Title="How is Blazor working for you?" />
It already contains the code that sets it as the homepage and displays the text "Hello, world!" and "Welcome to your new app". It also includes a SurveyPrompt component that renders a link to the Blazor feedback survey.
Try the counter
In the running app, navigate to the Counter page by clicking the Counter tab in the sidebar on
the left. The following page should then be displayed.
Select the Click me button to increment the count without a page refresh. Incrementing a counter in a webpage normally requires writing JavaScript, but with Blazor you can use C#.
You can find the implementation of the Counter component at Pages/Counter.razor.
A request for /counter in the browser, as specified by the @page
directive at the top, causes the Counter component to render its content.
Each time the Click me button is selected:
The onclick event is fired.
The IncrementCount method is called.
The currentCount is incremented.
The component is rendered to show the updated count.
Add a component
Each of the .razor files defines a UI component that can be reused.
Open the Index.razor file in a text editor of your choice. The Index.razor file already exists and it was created when you ran the dotnet new command. It's located in the Pages folder inside the BlazorApp directory that was created earlier.
Add a Counter component to the app's homepage by adding a <Counter /> element at the end of the Index.razor file.
Pages/Index.razor
@page "/"<h1>Hello, world!</h1>Welcome to your new app.<SurveyPrompt Title="How is Blazor working for you?" /><Counter />
Rerun your app
Press CTRL+C on your command prompt to end the previous dotnet run command that is running the site locally.
Press CTRL+C on your terminal to end the previous dotnet run command that is running the site locally by pressing CTRL+C on your terminal.
Then, run the following command to re-launch the site:
Terminal
dotnet run
Refresh the browser to see the change:
Modify a component
Component parameters are specified using attributes or child content, which allow you to set
properties on the child component. Define a parameter on the Counter component for
specifying how much it increments with every button click:
Add a public property for IncrementAmount with a [Parameter]
attribute.
Change the IncrementCount method to use the IncrementAmount when
incrementing the value of currentCount.
The following code shows how to achieve that. The highlighted lines show the changes.
In Index.razor, update the <Counter> element to add an
IncrementAmount attribute that changes the increment amount to ten as shown by the highlighted line in the following code:
Pages/Index.razor
@page "/"<h1>Hello, world!</h1>Welcome to your new app.<SurveyPrompt Title="How is Blazor working for you?" /><Counter IncrementAmount="10" />
Rerun the app. The Index component now has its own counter that increments by ten
each time the Click me button is selected, as shown in the following image. The Counter component
(Counter.razor) at /counter continues to increment by one.
Next steps
Congratulations, you've built and run your first Blazor app!
Learn more by following the tutorial to build a to do list app.
Before starting this tutorial, we recommend installing an editor.
Visual Studio
Fully-featured integrated development environment (IDE) on Windows for building every type of .NET application.
Build native Android, iOS, macOS, and Windows apps with Xamarin, plus websites and services with ASP.NET Core. In the installer, select the .NET Core workload.