Skip to content

Commit 2a26c0f

Browse files
authored
Merge pull request #21471 from unoplatform/dev/agzi/MigrationDocsUpdates
docs: Update migration guides for Uno 6.3 (.NET 10 support, dropped .NET 8) and misc adjustments
2 parents 50a7f43 + f314e0d commit 2a26c0f

17 files changed

+134
-40
lines changed
-59.5 KB
Loading
-6.16 KB
Loading

doc/articles/concepts/overview/why-uno-platform.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ Based on SkiaSharp support, Uno Platform provides AnimatedVisualPlayer to give t
174174

175175
## Performance and app size with AOT/Jiterpreter
176176

177-
Uno Platform allows to use .NET 8 features such as Profiled AOT (Ahead Of Time compilation) and the Jiterpreter, to get better performance for your apps and balanced size. Profiled AOT is a powerful feature that allows to continue using the interpreter for code that is not often used, thus keeping your app's size down.
177+
Uno Platform allows to use .NET 9+ features such as Profiled AOT (Ahead Of Time compilation) and the Jiterpreter, to get better performance for your apps and balanced size. Profiled AOT is a powerful feature that allows to continue using the interpreter for code that is not often used, thus keeping your app's size down.
178178

179179
## Comprehensive App Packaging for All Platforms
180180

@@ -283,7 +283,7 @@ As Uno Platform grows, the team behind it grows as well. The product is in good
283283

284284
## Integrates with any .NET Library
285285

286-
In addition to the UI components mentioned above, Uno Platform apps also integrate perfectly with your existing .NET libraries. This includes both .NET Standard 2.0 and libraries targeting .NET 6, up to the latest with .NET 8. Because of this, your Uno Platform app has compatibility with packages like Json.NET, LiteDB, SQLite, and SkiaSharp.
286+
In addition to the UI components mentioned above, Uno Platform apps also integrate perfectly with your existing .NET libraries. This includes both .NET Standard 2.0 and libraries targeting .NET 6, up to the latest .NET version. Because of this, your Uno Platform app has compatibility with packages like Json.NET, LiteDB, SQLite, and SkiaSharp.
287287

288288
## The Community
289289

doc/articles/getting-started/requirements.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,4 @@ Uno Platform applications run on all macOS versions supported by .NET, currently
4040

4141
## Linux
4242

43-
Uno Platform applications run on Linux distributions and versions where .NET 8 and later are supported, [listed here](https://learn.microsoft.com/dotnet/core/install/linux), using the `net9.0-desktop` target framework. Supported environments are X11 and Framebuffer.
43+
Uno Platform applications run on Linux distributions and versions where latest .NET versions are supported, [listed here](https://learn.microsoft.com/dotnet/core/install/linux), using the `net9.0-desktop` target framework. Supported environments are X11 and Framebuffer.
Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
1-
This setting lets you choose the .NET version to target. The default is .NET 9.0, but you can also choose .NET 8.0!
1+
This setting lets you choose the .NET version to target. The default is .NET 9.0, but you can also choose .NET 10.0!
22

3-
- #### .NET 8.0
3+
- #### .NET 9.0
4+
5+
[.NET 9.0](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-9/overview), the successor to .NET 8, has a special focus on cloud-native apps and performance.
6+
As a Standard Term Support (STS) release, it is now supported for **24 months (until November 10, 2026)**. See the [STS latest announcement](https://devblogs.microsoft.com/dotnet/dotnet-sts-releases-supported-for-24-months/) for more details.
47

5-
[.NET 8.0](https://learn.microsoft.com/dotnet/core/whats-new/dotnet-8) is the successor to .NET 7. It will be supported for three years (until November 2026) as a long-term support (LTS) release. This is the most stable option for new projects.
8+
> [!NOTE]
9+
> For **mobile workloads**, there is **no change yet**, support remains at **18 months**. See [MAUI support policy](https://dotnet.microsoft.com/en-us/platform/support/policy/maui) for more details.
610
711
```dotnetcli
8-
dotnet new unoapp -tfm net8.0
12+
dotnet new unoapp -tfm net9.0
913
```
1014
11-
- #### .NET 9.0
15+
- #### .NET 10.0
1216
13-
[.NET 9.0](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-9/overview) the successor to .NET 8, has a special focus on cloud-native apps and performance. It will be supported for 18 months (until May 2026) as a standard-term support (STS) release. This is the default (for both blank and recommended presets).
17+
[.NET 10.0](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/overview), the successor to .NET 9, includes improvements in performance, C# 14 support, and long-term platform stability.
18+
As a Long Term Support (LTS) release, it will be supported for **three years (until November 2028)**.
19+
At the moment, it is in preview and the least stable option for new projects.
1420
1521
```dotnetcli
16-
dotnet new unoapp -tfm net9.0
22+
dotnet new unoapp -tfm net10.0
1723
```

doc/articles/guides/profiling-applications.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ Once that's printed, go ahead and start profiling:
9494
dotnet-trace collect --diagnostic-port ~/my-dev-port,connect --format speedscope
9595
```
9696

97-
## Profiling .NET Android applications (.NET 8)
97+
## Profiling .NET Android applications
9898

9999
### Enable profiling in your application
100100

doc/articles/guides/solution-building-single-targetframework.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,17 +40,17 @@ To do so:
4040
<PropertyGroup>
4141
<!-- Uncomment each line for each platform that you want to build: -->
4242

43-
<!-- <OverrideTargetFramework Condition="''!='hint: Windows App Sdk (WinUI)'">net8.0-windows10.0.19041.0</OverrideTargetFramework> -->
44-
<!-- <OverrideTargetFramework Condition="''!='hint: Webassembly'">net8.0-browserwasm</OverrideTargetFramework> -->
45-
<!-- <OverrideTargetFramework Condition="''!='hint: Desktop'">net8.0-desktop</OverrideTargetFramework> -->
46-
<!-- <OverrideTargetFramework Condition="''!='hint: iOS'">net8.0-ios</OverrideTargetFramework> -->
47-
<!-- <OverrideTargetFramework Condition="''!='hint: Android'">net8.0-android</OverrideTargetFramework> -->
48-
<!-- <OverrideTargetFramework Condition="''!='hint: TvOS'">net8.0-tvos</OverrideTargetFramework> -->
43+
<!-- <OverrideTargetFramework Condition="''!='hint: Windows App Sdk (WinUI)'">net9.0-windows10.0.19041.0</OverrideTargetFramework> -->
44+
<!-- <OverrideTargetFramework Condition="''!='hint: Webassembly'">net9.0-browserwasm</OverrideTargetFramework> -->
45+
<!-- <OverrideTargetFramework Condition="''!='hint: Desktop'">net9.0-desktop</OverrideTargetFramework> -->
46+
<!-- <OverrideTargetFramework Condition="''!='hint: iOS'">net9.0-ios</OverrideTargetFramework> -->
47+
<!-- <OverrideTargetFramework Condition="''!='hint: Android'">net9.0-android</OverrideTargetFramework> -->
48+
<!-- <OverrideTargetFramework Condition="''!='hint: TvOS'">net9.0-tvos</OverrideTargetFramework> -->
4949
</PropertyGroup>
5050
</Project>
5151
```
5252

53-
Make sure to replace `net8.0` and `-windows10.0.19041.0` with the appropriate version from your `.csproj` project.
53+
Make sure to replace `net9.0` and `-windows10.0.19041.0` with the appropriate version from your `.csproj` project.
5454

5555
- You can commit `solution-config.props.sample` to your source control.
5656
- Next, make a copy of `solution-config.props.sample` to `solution-config.props`. This file is [automatically loaded](https://github.com/unoplatform/uno/blob/71f1d5ab067c0dcfad2f4cccd310e506cdeaf6bf/src/Uno.Sdk/targets/Uno.Import.SolutionConfig.props#L9) by the `Uno.Sdk`.

doc/articles/how-uno-works.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ On Windows (the `net9.0-windows10.0.xxxxx` target framework) using [Windows App
5454

5555
### Binaries
5656

57-
Uno Platform applications use [.NET 8+](https://learn.microsoft.com/dotnet/core/introduction) and run on all major platforms:
57+
Uno Platform applications use [.NET 9+](https://learn.microsoft.com/dotnet/core/introduction) and run on all major platforms:
5858

5959
- **Mobile/Desktop**: via .NET for Mobile
6060
- **Web**: via .NET for WebAssembly

doc/articles/migrating-from-net8-to-net9.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ Migrating from .NET 8 to .NET 9 is a generally straightforward process. You may
88
To upgrade to .NET 9:
99

1010
- First, read [What's New in .NET 9](https://learn.microsoft.com/dotnet/core/whats-new/dotnet-9/overview)
11-
- Install [Visual Studio 17.12 Preview 3](https://visualstudio.microsoft.com/vs/) or later and run [uno.check](xref:UnoCheck.UsingUnoCheck) with the `--pre-major` parameter to install .NET 9.
11+
- Install/Update the IDE of your choice:
12+
- [Visual Studio 2022](https://visualstudio.microsoft.com/vs/) - minimal version **17.12** or later
13+
- [Visual Studio Code](https://code.visualstudio.com/) - minimal version **1.94** or later with the related [**C# Dev Kit**](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit) stable version
14+
- [JetBrains Rider](https://www.jetbrains.com/rider/) - minimal version **2024.3** or later
15+
- Run [uno.check](xref:UnoCheck.UsingUnoCheck) to install .NET 9.
1216
- Change all your target framework (TFM) references from `net8.0` to `net9.0`, and `net8.0-*` to `net9.0-*`.
1317
- Delete your bin and obj folders
1418

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
uid: Uno.Development.MigratingFromNet9ToNet10
3+
---
4+
5+
# How to Upgrade from .NET 9 to .NET 10
6+
7+
Migrating from .NET 9 to .NET 10 is a generally straightforward process. Below are some specific adjustments you may need to make to your projects and libraries when upgrading.
8+
9+
To upgrade to .NET 10:
10+
11+
- First, read [What's New in .NET 10](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/overview).
12+
- Use **[.NET 10 RC1](https://devblogs.microsoft.com/dotnet/dotnet-10-rc-1/)** along with:
13+
- **Visual Studio** - the latest version of [Visual Studio 2026 Insiders](https://visualstudio.microsoft.com/insiders/), as recommended by Microsoft in their [announcement](https://devblogs.microsoft.com/dotnet/dotnet-10-rc-1/#🚀-get-started), or later.
14+
- **Visual Studio Code** - the latest version of [Visual Studio Code](https://code.visualstudio.com/Download) and the [C# Dev Kit](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit) extension, also recommended by Microsoft in the same [announcement](https://devblogs.microsoft.com/dotnet/dotnet-10-rc-1/#🚀-get-started).
15+
- **Rider** - the latest stable version, as .NET 10 support has been available since [Rider 2025.1](https://www.jetbrains.com/rider/whatsnew/2025-1/).
16+
- Run the latest stable version of [uno.check](xref:UnoCheck.UsingUnoCheck) with the [`--pre-major` parameter](https://aka.platform.uno/uno-check-pre-major) to install .NET 10.
17+
- Uno Platform provides an updated [Visual Studio extension](https://aka.platform.uno/vs-extension-marketplace) in the store that supports Visual Studio 2026 and the new `.slnx` solution format.
18+
- Change all your target framework (TFM) references from `net9.0` to `net10.0`, and from `net9.0-*` to `net10.0-*`.
19+
- Clean your project by deleting the `bin` and `obj` folders.
20+
21+
## Known Issues
22+
23+
For an up-to-date list of **known issues** when using **.NET 10** with Uno Platform, please refer to our [Health Status page](https://aka.platform.uno/health-status).

0 commit comments

Comments
 (0)