Overview
This tutorial will guide you through setting up a Blazor Hybrid project from scratch, integrating MAUI for desktop applications and Blazor WebAssembly for web applications. The setup also includes an optional ASP.NET Core server project for backend API services.
Environment Setup
-
Install .NET SDK:
- Download and install the latest version of .NET SDK from here.
-
Prepare a Directory:
- Open Command Prompt (
CMD
) and navigate to your desired directory:cd Downloads
- Create a new directory for your solution:
mkdir MyBlazorHybridApp
- Navigate into the new directory:
cd MyBlazorHybridApp
- Open Command Prompt (
Create Projects
-
Shared Library:
- Create a Razor Class Library (RCL) for shared Razor components:
dotnet new razorclasslib -n MyBlazorHybridApp
- Create a Razor Class Library (RCL) for shared Razor components:
-
Blazor MAUI App:
- Create a Blazor MAUI project for cross-platform desktop applications:
dotnet new maui-blazor -n MyBlazorHybridApp.MAUI
- Create a Blazor MAUI project for cross-platform desktop applications:
-
Blazor WebAssembly App:
- Create a Blazor WebAssembly project for web applications:
dotnet new blazorwasm -n MyBlazorHybridApp.Web
- Create a Blazor WebAssembly project for web applications:
-
ASP.NET Core Server App (Optional):
- Create an ASP.NET Core Web API project for backend services:
dotnet new webapi -n MyBlazorHybridApp.Server
- Create an ASP.NET Core Web API project for backend services:
Configure the Shared Library
-
Navigate to the Shared Library:
- Change to the shared library directory:
cd MyBlazorHybridApp
- Change to the shared library directory:
-
Add References:
- Add the shared library to other projects:
# Add to MAUI project dotnet add ../MyBlazorHybridApp.MAUI/MyBlazorHybridApp.MAUI.csproj reference MyBlazorHybridApp.csproj
Add to Web project
dotnet add ../MyBlazorHybridApp.Web/MyBlazorHybridApp.Web.csproj reference MyBlazorHybridApp.csproj
- Add the shared library to other projects:
-
Return to the Root Directory:
cd ..
Configure Workloads
-
List Installed Workloads:
- Check for installed .NET workloads:
dotnet workload list
- Check for installed .NET workloads:
-
Install Missing Workloads:
- Install workloads based on your target environments:
dotnet workload install android dotnet workload install ios dotnet workload install maccatalyst dotnet workload install maui-windows dotnet workload install wasm-tools
- Install workloads based on your target environments:
Create Solution Files
-
General Solution File:
- Create a solution file and add projects:
dotnet new sln -n MyBlazorHybridApp dotnet sln MyBlazorHybridApp.sln add MyBlazorHybridApp.MAUI/MyBlazorHybridApp.MAUI.csproj dotnet sln MyBlazorHybridApp.sln add MyBlazorHybridApp.Web/MyBlazorHybridApp.Web.csproj dotnet sln MyBlazorHybridApp.sln add MyBlazorHybridApp/MyBlazorHybridApp.csproj
Optional: Add server project if created
dotnet sln MyBlazorHybridApp.sln add MyBlazorHybridApp.Server/MyBlazorHybridApp.Server.csproj
- Create a solution file and add projects:
Running the Applications
-
Run the MAUI Desktop App:
dotnet run --project MyBlazorHybridApp.MAUI --framework net9.0-windows10.0.19041.0
-
Run the Blazor WebAssembly App:
dotnet run --project MyBlazorHybridApp.Web
-
Run the Server App (if created):
dotnet run --project MyBlazorHybridApp.Server
Create a .gitignore File
-
Generate a Basic .gitignore:
- Create an empty
.gitignore
file:echo. > .gitignore
- Create an empty
-
Use Recommended .gitignore:
- Copy and paste the recommended
.gitignore
from the official .NET MAUI repository.
- Copy and paste the recommended