Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .openpublishing.redirection.json
Original file line number Diff line number Diff line change
Expand Up @@ -1718,6 +1718,11 @@
"source_path": "aspnetcore/validation/overview.md",
"redirect_url": "/aspnet/core/fundamentals/validation",
"redirect_document_id": false
},
{
"source_path": "aspnetcore/blazor/hybrid/tutorials/maui.md",
"redirect_url": "/dotnet/maui/get-started/first-app",
"redirect_document_id": false
}
]
}
273 changes: 164 additions & 109 deletions aspnetcore/blazor/globalization-localization.md

Large diffs are not rendered by default.

15 changes: 8 additions & 7 deletions aspnetcore/blazor/hybrid/routing.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
---
title: ASP.NET Core Blazor Hybrid routing and navigation
ai-usage: ai-assisted
author: guardrex
description: Learn how to manage request routing and navigation in Blazor Hybrid apps.
monikerRange: '>= aspnetcore-6.0'
ms.author: wpickett
ms.date: 11/11/2025
ms.date: 08/31/2026
uid: blazor/hybrid/routing
zone_pivot_groups: blazor-hybrid-frameworks
---
Expand Down Expand Up @@ -169,7 +170,7 @@ The .NET MAUI Blazor hybrid project template isn't a [Shell-based app](/dotnet/m

In the following example:

* The namespace of the app is `MauiBlazor`, which matches the suggested project name of the <xref:blazor/hybrid/tutorials/maui> tutorial.
* The namespace of the app is `MauiApp1`, which matches the suggested project name of the [Build your first app](/dotnet/maui/get-started/first-app) tutorial.
* A <xref:Microsoft.Maui.Controls.ContentPage> is placed in a new folder added to the app named `Views`.

In `App.xaml.cs`, create the `MainPage` as a <xref:Microsoft.Maui.Controls.NavigationPage> by making the following change:
Expand All @@ -184,8 +185,8 @@ In `App.xaml.cs`, create the `MainPage` as a <xref:Microsoft.Maui.Controls.Navig
```xaml
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:MauiBlazor"
x:Class="MauiBlazor.Views.NavigationExample"
xmlns:local="clr-namespace:MauiApp1"
x:Class="MauiApp1.Views.NavigationExample"
Title="Navigation Example"
BackgroundColor="{DynamicResource PageBackgroundColor}">
<StackLayout>
Expand All @@ -205,7 +206,7 @@ In the following `NavigationExample` code file, the `CloseButton_Clicked` event
`Views/NavigationExample.xaml.cs`:

```csharp
namespace MauiBlazor.Views;
namespace MauiApp1.Views;

public partial class NavigationExample : ContentPage
{
Expand All @@ -223,7 +224,7 @@ public partial class NavigationExample : ContentPage

In a Razor component:

* Add the namespace for the app's content pages. In the following example, the namespace is `MauiBlazor.Views`.
* Add the namespace for the app's content pages. In the following example, the namespace is `MauiApp1.Views`.
* Add an HTML `button` element with an [`@onclick` event handler](xref:blazor/components/event-handling) to open the content page. The event handler method is named `OpenPage`.
* In the event handler, call <xref:Microsoft.Maui.Controls.INavigation.PushAsync%2A> to push the <xref:Microsoft.Maui.Controls.ContentPage>, `NavigationExample`, onto the navigation stack.

Expand All @@ -233,7 +234,7 @@ The following example is based on the `Index` component in the .NET MAUI Blazor

```razor
@page "/"
@using MauiBlazor.Views
@using MauiApp1.Views

<h1>Hello, world!</h1>

Expand Down
5 changes: 3 additions & 2 deletions aspnetcore/blazor/hybrid/security/maui-blazor-web-identity.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
---
title: .NET MAUI Blazor Hybrid and Web App with ASP.NET Core Identity
ai-usage: ai-assisted
author: guardrex
description: Learn how to build a .NET MAUI Blazor Hybrid app with a Blazor Web App that manages authentication with ASP.NET Core Identity.
monikerRange: '>= aspnetcore-9.0'
ms.author: wpickett
ms.date: 04/02/2026
ms.date: 08/31/2026
uid: blazor/hybrid/security/maui-blazor-web-identity
---
# .NET MAUI Blazor Hybrid and Web App with ASP.NET Core Identity
Expand All @@ -27,7 +28,7 @@ The sample:

## Prerequisites and preliminary steps

For prerequisites and preliminary steps, see <xref:blazor/hybrid/tutorials/maui>. We recommend using the MAUI Blazor Hybrid tutorial to set up your local system for MAUI development before using the guidance in this article and the sample app.
For prerequisites and preliminary steps, see the [Build your first app](/dotnet/maui/get-started/first-app) tutorial. We recommend using the MAUI Blazor Hybrid tutorial to set up your local system for MAUI development before using the guidance in this article and the sample app.

## Sample app

Expand Down
5 changes: 3 additions & 2 deletions aspnetcore/blazor/hybrid/tutorials/index.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
---
title: ASP.NET Core Blazor Hybrid tutorials
ai-usage: ai-assisted
author: guardrex
description: Learn how to build Blazor Hybrid apps with the tutorials listed in this article.
monikerRange: '>= aspnetcore-6.0'
ms.author: wpickett
ms.date: 11/11/2025
ms.date: 08/31/2026
uid: blazor/hybrid/tutorials/index
---
# ASP.NET Core Blazor Hybrid tutorials
Expand All @@ -13,7 +14,7 @@ uid: blazor/hybrid/tutorials/index

The following tutorials provide a basic working experience for building a Blazor Hybrid app:

* <xref:blazor/hybrid/tutorials/maui>
* [Build your first app](/dotnet/maui/get-started/first-app)

:::moniker range=">= aspnetcore-8.0"

Expand Down
5 changes: 3 additions & 2 deletions aspnetcore/blazor/hybrid/tutorials/maui-blazor-web-app.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
---
title: Build a .NET MAUI Blazor Hybrid app with a Blazor Web App
ai-usage: ai-assisted
author: guardrex
description: Learn how to build a .NET MAUI Blazor Hybrid app with a Blazor Web App that uses a shared user interface via a Razor class library (RCL).
monikerRange: '>= aspnetcore-8.0'
ms.author: wpickett
ms.date: 11/21/2025
ms.date: 08/31/2026
uid: blazor/hybrid/tutorials/maui-blazor-web-app
---
# Build a .NET MAUI Blazor Hybrid app with a Blazor Web App
Expand All @@ -15,7 +16,7 @@ This article shows you how to build a .NET MAUI Blazor Hybrid app with a Blazor

## Prerequisites and preliminary steps

For prerequisites and preliminary steps, see <xref:blazor/hybrid/tutorials/maui>. We recommend using the .NET MAUI Blazor Hybrid tutorial to set up your local system for .NET MAUI development before using the guidance in this article.
For prerequisites and preliminary steps, see the [Build your first app](/dotnet/maui/get-started/first-app) tutorial. We recommend using the .NET MAUI Blazor Hybrid tutorial to set up your local system for .NET MAUI development before using the guidance in this article.

:::moniker range=">= aspnetcore-9.0"

Expand Down
160 changes: 0 additions & 160 deletions aspnetcore/blazor/hybrid/tutorials/maui.md

This file was deleted.

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
2 changes: 1 addition & 1 deletion aspnetcore/fundamentals/openapi/includes/overview-9.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ To learn more about the `Microsoft.AspNetCore.OpenApi` package, see <xref:fundam
The [`Microsoft.Extensions.ApiDescription.Server`](https://www.nuget.org/packages/Microsoft.Extensions.ApiDescription.Server/) package provides support for generating OpenAPI documents at build time and serializing them.

To use `Microsoft.Extensions.ApiDescription.Server`, add it as a PackageReference to a project file.
Document generation at build time is enabled by setting the `OpenApiGenerateDocuments` property.
Document generation at build time is enabled by setting the `OpenApiGenerateDocumentsOnBuild` property to `true`.
By default, the generated OpenAPI document is saved to the `obj` directory, but you can customize
the output directory by setting the `OpenApiDocumentsDirectory` property.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Enable document generation at build time by setting the following properties in
```xml
<PropertyGroup>
<OpenApiDocumentsDirectory>$(MSBuildProjectDirectory)</OpenApiDocumentsDirectory>
<OpenApiGenerateDocuments>true</OpenApiGenerateDocuments>
<OpenApiGenerateDocumentsOnBuild>true</OpenApiGenerateDocumentsOnBuild>
</PropertyGroup>
```

Expand Down
4 changes: 2 additions & 2 deletions aspnetcore/fundamentals/openapi/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ description: Learn how to integrate OpenAPI in ASP.NET Core API apps. Discover f
monikerRange: '>= aspnetcore-6.0'
ms.author: wpickett
ms.reviewer: wpickett
ms.date: 03/20/2026
ms.date: 08/28/2026
uid: fundamentals/openapi/overview
---
# OpenAPI support in ASP.NET Core API apps
Expand Down Expand Up @@ -53,7 +53,7 @@ To learn more about the `Microsoft.AspNetCore.OpenApi` package, see <xref:fundam
The [`Microsoft.Extensions.ApiDescription.Server`](https://www.nuget.org/packages/Microsoft.Extensions.ApiDescription.Server/) package supports generating OpenAPI documents at build time and serializing them.

To use `Microsoft.Extensions.ApiDescription.Server`, add it as a PackageReference to a project file.
Enable document generation at build time by setting the `OpenApiGenerateDocuments` property.
Enable document generation at build time by setting the `OpenApiGenerateDocumentsOnBuild` property to `true`.
By default, the generated OpenAPI document is saved to the `obj` directory, but you can customize
the output directory by setting the `OpenApiDocumentsDirectory` property.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<TargetFramework>net10.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<OpenApiGenerateDocuments>true</OpenApiGenerateDocuments>
<OpenApiGenerateDocumentsOnBuild>true</OpenApiGenerateDocumentsOnBuild>
<!-- Configure build-time OpenAPI generation to produce an OpenAPI 3.1 document. -->
<OpenApiGenerateDocumentsOptions>--openapi-version OpenApi3_1</OpenApiGenerateDocumentsOptions>
</PropertyGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

<PropertyGroup>
<OpenApiDocumentsDirectory>$(MSBuildProjectDirectory)</OpenApiDocumentsDirectory>
<OpenApiGenerateDocuments>true</OpenApiGenerateDocuments>
<OpenApiGenerateDocumentsOnBuild>true</OpenApiGenerateDocumentsOnBuild>
</PropertyGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
</PropertyGroup>

<PropertyGroup>
<OpenApiGenerateDocuments>true</OpenApiGenerateDocuments>
<OpenApiGenerateDocumentsOnBuild>true</OpenApiGenerateDocumentsOnBuild>
<OpenApiDocumentsDirectory>$(MSBuildProjectDirectory)</OpenApiDocumentsDirectory>
</PropertyGroup>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

<PropertyGroup>
<OpenApiDocumentsDirectory>$(MSBuildProjectDirectory)</OpenApiDocumentsDirectory>
<OpenApiGenerateDocuments>true</OpenApiGenerateDocuments>
<OpenApiGenerateDocumentsOnBuild>true</OpenApiGenerateDocumentsOnBuild>
</PropertyGroup>

<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
</PropertyGroup>

<PropertyGroup>
<OpenApiGenerateDocuments>true</OpenApiGenerateDocuments>
<OpenApiGenerateDocumentsOnBuild>true</OpenApiGenerateDocumentsOnBuild>
<OpenApiDocumentsDirectory>$(MSBuildProjectDirectory)</OpenApiDocumentsDirectory>
</PropertyGroup>

Expand Down
4 changes: 2 additions & 2 deletions aspnetcore/fundamentals/openapi/using-openapi-documents.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ author: wadepickett
description: Learn how to use OpenAPI documents in an ASP.NET Core app.
monikerRange: '>= aspnetcore-6.0'
ms.author: wpickett
ms.date: 02/02/2026
ms.date: 08/28/2026
uid: fundamentals/openapi/using-openapi-documents
---
# Use openAPI documents
Expand Down Expand Up @@ -66,7 +66,7 @@ Enable document generation at build time by setting the following properties in
```xml
<PropertyGroup>
<OpenApiDocumentsDirectory>$(MSBuildProjectDirectory)</OpenApiDocumentsDirectory>
<OpenApiGenerateDocuments>true</OpenApiGenerateDocuments>
<OpenApiGenerateDocumentsOnBuild>true</OpenApiGenerateDocumentsOnBuild>
</PropertyGroup>
```

Expand Down
Loading
Loading