diff --git a/_config.yml b/_config.yml
index 85d1b2ca33..91318c17d1 100644
--- a/_config.yml
+++ b/_config.yml
@@ -60,13 +60,13 @@ navigation:
position: 23
"getting-started/vs-integration":
title: "Visual Studio Integration"
- position: 25
+ position: 35
"getting-started/vs-code-integration":
title: "Visual Studio Code Integration"
- position: 26
+ position: 36
"getting-started/repl":
title: "Telerik REPL for Blazor"
- position: 35
+ position: 37
"backwards-compatibility":
title: "Breaking Changes"
position: 30
diff --git a/components/rootcomponent/overview.md b/components/rootcomponent/overview.md
index b5417efd98..73aebfcff5 100644
--- a/components/rootcomponent/overview.md
+++ b/components/rootcomponent/overview.md
@@ -30,7 +30,7 @@ The `TelerikRootComponent` achieves all these tasks with the help of [cascading
This section applies to:
-* .NET 8 Blazor Web Apps with **Global** interactivity location. If your app has **Per page/component** interactivity, then refer to section [Interactivity Considerations](#interactivity-considerations) below.
+* .NET 8 and .NET 9 Blazor Web Apps with **Global** interactivity location. If your app has **Per page/component** interactivity, then refer to section [Interactivity Considerations](#interactivity-considerations) below.
* Blazor Server, WebAssembly and Hybrid apps in all .NET versions
The recommended way to add `TelerikRootComponent` to a Blazor app is to:
diff --git a/components/rootcomponent/per-component-interactivity-location.md b/components/rootcomponent/per-component-interactivity-location.md
index 7f7ee14ff5..952860e7ba 100644
--- a/components/rootcomponent/per-component-interactivity-location.md
+++ b/components/rootcomponent/per-component-interactivity-location.md
@@ -25,7 +25,7 @@ In apps with **Per page/component** interactivity, the layout files are static.
* [Change the application's render mode to interactive at runtime](#change-the-app-render-mode-at-runtime) for specific pages.
* [Use an empty layout for pages with Telerik components](#use-empty-layout) and duplicate the contents of the regular app layout to another `.razor` file.
-The sections below provide additional information for each of the three options. Review this [.NET 8 Blazor Web App sample project on GitHub](https://github.com/telerik/blazor-ui/tree/master/rootcomponent/BlazorWebAppServer), which also demonstrates all three options.
+The sections below provide additional information for each of the three options. Review this [Blazor Web App sample project on GitHub](https://github.com/telerik/blazor-ui/tree/master/rootcomponent/BlazorWebAppServer), which also demonstrates all three options.
## Add TelerikRootComponent to Interactive Pages
@@ -128,7 +128,7 @@ In this scenario, [add a `TelerikRootComponent` to a layout]({%slug rootcomponen
## Use Empty Layout
-In this scenario, use a regular layout (`MainLayout.razor`) for static pages and another empty layout (for example, `EmptyLayout.razor`) for interactive pages with Telerik components. The contents of `MainLayout.razor` must be copied to a non-layout `.razor` page, which uses the empty layout. Here are the detailed steps, which refer to a [.NET 8 Blazor Web App sample project on GitHub](https://github.com/telerik/blazor-ui/tree/master/rootcomponent/BlazorWebAppServer):
+In this scenario, use a regular layout (`MainLayout.razor`) for static pages and another empty layout (for example, `EmptyLayout.razor`) for interactive pages with Telerik components. The contents of `MainLayout.razor` must be copied to a non-layout `.razor` page, which uses the empty layout. Here are the detailed steps, which refer to a [Blazor Web App sample project on GitHub](https://github.com/telerik/blazor-ui/tree/master/rootcomponent/BlazorWebAppServer):
1. Create a [new layout file `EmptyLayout.razor`](https://github.com/telerik/blazor-ui/blob/master/rootcomponent/BlazorWebAppServer/Components/Layout/EmptyLayout.razor) in the same folder as `MainLayout.razor`.
1. Copy the contents for `MainLayout.razor` to a [non-layout `.razor` file, for example, `Shared/LayoutContainer.razor`](https://github.com/telerik/blazor-ui/blob/master/rootcomponent/BlazorWebAppServer/Components/Shared/LayoutContainer.razor).
@@ -142,7 +142,7 @@ This code duplication requires more effort to maintain, but avoids [possible iss
## See Also
-* [.NET 8 Blazor Web App sample project on GitHub](https://github.com/telerik/blazor-ui/tree/master/rootcomponent/BlazorWebAppServer)
+* [Blazor Web App sample project on GitHub](https://github.com/telerik/blazor-ui/tree/master/rootcomponent/BlazorWebAppServer)
* [Setting up Telerik Blazor apps]({%slug getting-started/what-you-need%})
* [ASP.NET Core Blazor render modes](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes)
* [Video: Intro to Blazor in .NET 8 - SSR, Stream Rendering, Auto](https://www.youtube.com/watch?v=walv3nLTJ5g)
diff --git a/getting-started/client-blazor.md b/getting-started/client-blazor.md
index 9718486d3f..587b05e6e5 100644
--- a/getting-started/client-blazor.md
+++ b/getting-started/client-blazor.md
@@ -1,11 +1,11 @@
---
-title: Blazor WebAssembly (Tutorial)
+title: Blazor WebAssembly Standalone App
page_title: First Steps with Blazor WebAssembly Apps
description: Make your first steps with Telerik UI for Blazor client-side by using Blazor WebAssembly (WASM). Read more!
slug: getting-started/client-side
tags: get,started,first,steps,client
published: true
-position: 5
+position: 10
---
# First Steps with Blazor Client-Side
@@ -15,9 +15,9 @@ This article explains how to get the **Predefined Project Templates**
diff --git a/getting-started/web-app.md b/getting-started/web-app.md
index 7b4accbd7f..a0d6f3e514 100644
--- a/getting-started/web-app.md
+++ b/getting-started/web-app.md
@@ -1,16 +1,16 @@
---
-title: Blazor Web App (Tutorial)
+title: Blazor Web App
page_title: First Steps with Blazor Web Apps and Telerik UI for Blazor
description: Make your first steps with Telerik UI for Blazor and build a Web App that runs the UI for Blazor components.
slug: getting-started/web-app
tags: get,started,first,steps,web,app,template
published: true
-position: 10
+position: 5
---
# First Steps with UI for Blazor in a Web App
-This article explains how to use the Telerik UI for Blazor components in a .NET 8 Blazor Web App project template. You will create a new application from scratch, learn how to add the UI for Blazor components to a project, and finally, add a UI component to a view.
+This article explains how to use the Telerik UI for Blazor components in a Blazor Web App project template that exists for .NET 8 and 9. You will create a new application from scratch, learn how to add the UI for Blazor components to a project, and finally, add a UI component to a view.
@[template](/_contentTemplates/common/get-started.md#prerequisites-tip)
@@ -105,7 +105,7 @@ The final step in this tutorial is to use a Telerik UI for Blazor component in a
## See Also
* [Workflow Details for Telerik UI for Blazor]({%slug getting-started/what-you-need%})
-* [Using .NET 8 Blazor Sections inside Telerik Components]({%slug common-kb-net8-sections%})
+* [Using Blazor Sections inside Telerik Components]({%slug common-kb-net8-sections%})
* [Getting Started Videos for Blazor](https://www.youtube.com/watch?v=aaRAZYaJ4xc&list=PLvmaC-XMqeBYPTwcm478vs8Rujq2tiVJo)
* [First Steps with Blazor Server]({%slug getting-started/server-side%})
* [First Steps with Blazor WebAssembly]({%slug getting-started/client-side%})
diff --git a/getting-started/what-you-need.md b/getting-started/what-you-need.md
index 05481d9df5..2c5e6c8a17 100644
--- a/getting-started/what-you-need.md
+++ b/getting-started/what-you-need.md
@@ -6,7 +6,7 @@ slug: getting-started/what-you-need
previous_url: /installation/what-you-need
tags: get,started,installation,what,need,list
published: True
-position: 20
+position: 25
---
# Workflow Details for Using the Telerik UI for Blazor Components
@@ -15,9 +15,9 @@ This article describes the required steps to use the Telerik UI for Blazor compo
>tip The information in this article builds on top of the step-by-step tutorials for specific Blazor application types or render modes:
>
-> * [Blazor Web App]({%slug getting-started/web-app%}) template in .NET 8
+> * [Blazor Web App]({%slug getting-started/web-app%}) template in .NET 8 or 9
+> * [Blazor WebAssembly Standalone apps]({%slug getting-started/client-side%})
> * [Blazor Server apps]({%slug getting-started/server-side%}) in .NET 6 or 7
-> * [Blazor WebAssembly apps]({%slug getting-started/client-side%})
> * [Blazor Hybrid (MAUI) apps]({%slug getting-started/hybrid-blazor%})
>
> The differences between the above tutorials and this page are:
@@ -221,10 +221,10 @@ The `TelerikRootComponent` placement depends on the interactivity location of th
> The instructions and code example below apply to:
>
-> * .NET 8 Blazor Web Apps with **Global** interactivity location
+> * .NET 8 or 9 Blazor Web Apps with **Global** interactivity location
> * Blazor Server, WebAssembly and Hybrid apps in all .NET versions
>
-> If you have a .NET 8 Blazor Web App with **Per page/component** interactivity location, then the correct `TelerikRootComponent` usage is different. The component still needs to wrap all other Telerik components, but it cannot reside in a static layout file, because the [other Telerik component will not detect it]({%slug common-kb-component-requires-telerikrootcomponent%}). Refer to section [Interactivity Considerations]({%slug rootcomponent-overview%}#interactivity-considerations) and article [Using TelerikRootComponent with Per Page/Component Interactivity]({%slug rootcomponent-percomponent%}).
+> If you have a Blazor Web App with **Per page/component** interactivity location, then the correct `TelerikRootComponent` usage is different. The component still needs to wrap all other Telerik components, but it cannot reside in a static layout file, because the [other Telerik component will not detect it]({%slug common-kb-component-requires-telerikrootcomponent%}). Refer to section [Interactivity Considerations]({%slug rootcomponent-overview%}#interactivity-considerations) and article [Using TelerikRootComponent with Per Page/Component Interactivity]({%slug rootcomponent-percomponent%}).
### Optimal TelerikRootComponent Usage
diff --git a/introduction.md b/introduction.md
index c53ffb62e6..2fb308f6bb 100644
--- a/introduction.md
+++ b/introduction.md
@@ -25,9 +25,9 @@ Visit the Telerik UI
If you are new to Telerik UI for Blazor, visit the Getting Started tutorials that demonstrate how to add the Telerik components to your application:
+* [Get Started with a .NET 8 or 9 Blazor Web App]({%slug getting-started/web-app%})
+* [Get Started with a Blazor WebAssembly Standalone App]({%slug getting-started/client-side%})
* [Get Started with a .NET 6 or 7 Blazor Server app]({%slug getting-started/server-side%})
-* [Get Started with a Blazor WebAssembly app]({%slug getting-started/client-side%})
-* [Get Started with a .NET 8 Blazor Web App]({%slug getting-started/web-app%})
* [Get Started with Blazor Hybrid]({%slug getting-started/hybrid-blazor%})
>tip This online Blazor documentation covers the latest version of Telerik UI for Blazor, which is `{{site.uiForBlazorLatestVersion}}`. If needed, [download the offline PDF Blazor documentation](#learning-resources) for the required older product version.
diff --git a/knowledge-base/common-component-requires-telerikrootcomponent.md b/knowledge-base/common-component-requires-telerikrootcomponent.md
index fa0dd70762..2a13f80b59 100644
--- a/knowledge-base/common-component-requires-telerikrootcomponent.md
+++ b/knowledge-base/common-component-requires-telerikrootcomponent.md
@@ -38,7 +38,7 @@ The error occurs when a Telerik Blazor component cannot detect a `TelerikRootCom
More specifically, the exception implies the following issues with the application setup:
* A Blazor application is missing a `TelerikRootComponent` in `MainLayout.razor` or any other layout file that is currently in use.
-* A [.NET 8 Blazor Web App](https://learn.microsoft.com/en-us/aspnet/core/blazor/project-structure?view=aspnetcore-8.0#blazor-web-app) has a `TelerikRootComponent` in a used layout file, but the app's **Interactivity location** is set to **Per page/component**. In such cases, the layout files use static render mode and the `TelerikRootComponent` is unable to pass cascading values down the component tree.
+* A [Blazor Web App](https://learn.microsoft.com/en-us/aspnet/core/blazor/project-structure?view=aspnetcore-9.0#blazor-web-app) has a `TelerikRootComponent` in a used layout file, but the app's **Interactivity location** is set to **Per page/component**. In such cases, the layout files use static render mode and the `TelerikRootComponent` is unable to pass cascading values down the component tree.
## Solution
@@ -46,7 +46,7 @@ More specifically, the exception implies the following issues with the applicati
To fix and avoid the `TelerikRootComponent` exception:
* [Add a `TelerikRootComponent` to one or more layout files]({%slug getting-started/what-you-need%}#telerikrootcomponent), depending on the application's layout structure.
-* When using the .NET 8 Blazor Web App project template, [create the app with a **Global** interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-8.0#apply-a-render-mode-to-the-entire-app).
+* When using the Blazor Web App project template, [create the app with a **Global** interactivity location](https://learn.microsoft.com/en-us/aspnet/core/blazor/components/render-modes?view=aspnetcore-9.0#apply-a-render-mode-to-the-entire-app).
* If your scenario requires a **Per page/component** interactivity location, place the `TelerikRootComponent` in an interactive Razor component. Refer to [Using `TelerikRootComponent` with Per Component Interactivity]({%slug rootcomponent-percomponent%}).
> To avoid [problems with popup positioning]({%slug troubleshooting-general-issues%}#wrong-popup-position), wrap all the web page content in a `TelerikRootComponent`.
diff --git a/knowledge-base/common-lazy-load-assemblies-wasm.md b/knowledge-base/common-lazy-load-assemblies-wasm.md
index 7704522412..cedf96e148 100644
--- a/knowledge-base/common-lazy-load-assemblies-wasm.md
+++ b/knowledge-base/common-lazy-load-assemblies-wasm.md
@@ -74,9 +74,9 @@ All general guidance from the [Microsoft documentation](https://learn.microsoft.
Overall, the lazy loading of assemblies at the correct time is a responsibility of the application. If an assembly is not loaded when required, the app will throw `System.IO.FileNotFoundException: Could not load file or assembly ...`. The loading code is in the `OnNavigateAsync` event handler of the ``. You can also define an optional loading screen inside the `` with a `` tag.
-### .NET 8 Specifics
+### .NET 8 and 9 Specifics
-The following tips apply to .NET 8 WebAssembly apps only:
+The following tips apply only to .NET 8 and 9 WebAssembly apps:
* Use `.wasm` instead of `.dll` in the `.csproj` file and the `OnNavigateAsync` event handler.
* [Register the lazy loader service manually](https://github.com/dotnet/aspnetcore/issues/51966) in the "server" `Program.cs`. Otherwise, you may get a `InvalidOperationException: Cannot provide a value for property 'AssemblyLoader' on type '...Routes'. There is no registered service of type 'Microsoft.AspNetCore.Components.WebAssembly.Services.LazyAssemblyLoader'.`
diff --git a/knowledge-base/common-maximum-call-stack-exceeded.md b/knowledge-base/common-maximum-call-stack-exceeded.md
index 843365ef27..e8b9c3d4be 100644
--- a/knowledge-base/common-maximum-call-stack-exceeded.md
+++ b/knowledge-base/common-maximum-call-stack-exceeded.md
@@ -34,8 +34,8 @@ This knowledge base article deals with the `Maximum call stack size exceeded` er
The possible causes for the `Maximum call stack size exceeded` error are:
-* Using an old version of Telerik UI for Blazor (4.5.0 and earlier) in .NET 8.
-* Updating an existing app to .NET 8 without updating Telerik UI for Blazor.
+* Using an old version of Telerik UI for Blazor (4.5.0 and older) in .NET 8 or 9.
+* Updating an existing app to .NET 8 or 9 without updating Telerik UI for Blazor.
* Using different versions of Telerik UI for Blazor in different projects in your solution. Some of the versions are earlier than 4.6.0.
* Building a .NET 6 Telerik Blazor app with the .NET 8 SDK on a Mac.
* Using a cached old version of `telerik-blazor.js` with up-to-date Telerik UI for Blazor version. In this case, the app may be runnable in one browser and not in another.
diff --git a/knowledge-base/common-net8-sections.md b/knowledge-base/common-net8-sections.md
index 8002cd0912..cc96eea05d 100644
--- a/knowledge-base/common-net8-sections.md
+++ b/knowledge-base/common-net8-sections.md
@@ -106,4 +106,4 @@ We don't recommend and don't officially support custom markup or custom componen
## See Also
-* [Add Telerik Blazor components to .NET 8 Blazor Web App Template]({%slug getting-started/web-app%})
+* [Add Telerik Blazor components to the Blazor Web App Template]({%slug getting-started/web-app%})