diff --git a/doc/articles/migrating-from-net8-to-net9.md b/doc/articles/migrating-from-net8-to-net9.md new file mode 100644 index 000000000000..7f81dfd65c19 --- /dev/null +++ b/doc/articles/migrating-from-net8-to-net9.md @@ -0,0 +1,17 @@ +--- +uid: Uno.Development.MigratingFromNet8ToNet9 +--- +# How to upgrade from .NET 8 to .NET 9 + +Migrating from .NET 8 to .NET 9 is a generally straightforward process. You may find below some specific adjustments to make to your projects and libraries when upgrading. + +To upgrade to .NET 9: + +- First, read [What's New in .NET 9](https://learn.microsoft.com/dotnet/core/whats-new/dotnet-9/overview) +- 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. +- Change all your target framework (TFM) references from `net8.0` to `net9.0`, and `net8.0-*` to `net9.0-*`. +- Delete your bin and obj folders + +## Considerations for WebAssembly + +WebAssembly support for .NET 9 has made significant internal changes to use the official .NET SDK. Read the following [documentation for WebAssembly migrations](https://aka.platform.uno/wasm-net9-upgrade). diff --git a/doc/articles/migrating-from-previous-releases.md b/doc/articles/migrating-from-previous-releases.md index 3c3114f05b19..6a4c5ff874f3 100644 --- a/doc/articles/migrating-from-previous-releases.md +++ b/doc/articles/migrating-from-previous-releases.md @@ -6,6 +6,17 @@ uid: Uno.Development.MigratingFromPreviousReleases This article details the migration steps required to migrate from one version to the next when breaking changes are being introduced. +## Uno Platform 5.5 + +Uno Platform 5.5 introduces support for .NET 9 RC2 and requires installation updates for WebAssembly. + +### .NET 9 RC2 + +A few considerations to take into account: + +- Moving to .NET 9 or upgrading .NET 9 projects now require the use of .NET 9 RC2 and Visual Studio 17.12 Preview 3. +- To migrate a project to .NET 9, [read the directions](xref:Uno.Development.MigratingFromNet8ToNet9) from our documentation. + ## Uno Platform 5.4 Uno Platform 5.4 contains breaking changes for Uno.Extensions. @@ -29,7 +40,7 @@ Additionally, you may also get the following error message: NETSDK1198: A publish profile with the name 'win-AnyCPU.pubxml' was not found in the project. ``` -In order to fix this warning in your existing project, you can create a new file named `Properties/PublishProfiles/win-AnyCPU.pubxml`, with [this content](https://github.com/unoplatform/uno.templates/blob/5196433a5e0a8a4d2efffd118d575ed03e30dcf0/src/Uno.Templates/content/unoapp/MyExtensionsApp.1/Properties/PublishProfiles/win-AnyCPU.pubxml). +This issue is not yet fixed, but it does not cause any problems during deployment. ### UWP Support for Uno.Extensions diff --git a/doc/articles/toc.yml b/doc/articles/toc.yml index d977be83e6f1..18dbdc519a61 100644 --- a/doc/articles/toc.yml +++ b/doc/articles/toc.yml @@ -210,6 +210,8 @@ href: xref:Uno.Development.MigratingToSingleProject - name: Upgrading to Uno 5.0 href: xref:Uno.Development.MigratingToUno5 + - name: Upgrading from .NET 8 to .NET 9 + href: xref:Uno.Development.MigratingFromNet8ToNet9 - name: Upgrading from .NET 7 to .NET 8 href: xref:Uno.Development.MigratingFromNet7ToNet8 - name: Upgrading from Xamarin to .NET 6 diff --git a/doc/articles/uno-publishing-desktop.md b/doc/articles/uno-publishing-desktop.md index 6ce8d5c0e2af..a5a900e7d8ec 100644 --- a/doc/articles/uno-publishing-desktop.md +++ b/doc/articles/uno-publishing-desktop.md @@ -70,17 +70,18 @@ We support creating .snap packages on **Ubuntu 20.04** or later. The following must be installed and configured: -- snapd -- snaps (with `snap install`): - - core20 on Ubuntu 20.04 - - core22 on Ubuntu 22.04 - - core24 on Ubuntu 24.04 - - multipass - - lxd - - current user must be part of the `lxd` group - - `lxd init --minimal` or similar should be run - - snapcraft +```bash +sudo apt-get install -y snapd +sudo snap install core22 +sudo snap install multipass +sudo snap install lxd +sudo snap install snapcraft +lxd init --minimal +sudo usermod --append --groups lxd $USER # In order for the current user to use LXD +``` +> [!NOTE] +> In the above script, replace `core22` with `core20` if building on Ubuntu 20.04, or `core24` if building on Ubuntu 24.04. > [!NOTE] > Docker may interfere with Lxd causing network connectivity issues, for solutions see: https://documentation.ubuntu.com/lxd/en/stable-5.0/howto/network_bridge_firewalld/#prevent-connectivity-issues-with-lxd-and-docker @@ -89,10 +90,10 @@ The following must be installed and configured: To generate a snap file, run the following: ```shell -dotnet publish -f net8.0-desktop -r {{RID}} -p:SelfContained=true -p:PackageFormat=snap +dotnet publish -f net8.0-desktop -p:SelfContained=true -p:PackageFormat=snap ``` -Where `{{RID}}` is either `linux-x64` or `linux-arm64`. The generated snap file is located in the `publish` folder. +The generated snap file is located in the `bin/Release/netX.0-desktop/linux-[x64|arm64]/publish` folder. Uno Platform generates snap manifests in classic confinement mode and a `.desktop` file by default. @@ -101,7 +102,7 @@ If you wish to customize your snap manifest, you will need to pass the following - `SnapManifest` - `DesktopFile` -The `.desktop` filename MUST conform to the Desktop File spec. +The `.desktop` filename MUST conform to the [Desktop File](https://specifications.freedesktop.org/desktop-entry-spec/latest) spec. If you wish, you can generate a default snap manifest and desktop file by running the command above, then tweak them. @@ -113,7 +114,7 @@ If you wish, you can generate a default snap manifest and desktop file by runnin You can install your app on your machine using the following: ```bash -sudo snap install MyApp_1.0_amd64.snap --dangerous –classic +sudo snap install MyApp_1.0_amd64.snap --dangerous --classic ``` You can also publish your app to the [Snap store](https://snapcraft.io/store). diff --git a/doc/import_external_docs.ps1 b/doc/import_external_docs.ps1 index 7494f694eb2e..4ed6cf08c7d1 100644 --- a/doc/import_external_docs.ps1 +++ b/doc/import_external_docs.ps1 @@ -7,7 +7,7 @@ Set-PSDebug -Trace 1 $external_docs = @{ # use either commit, or branch name to use its latest commit - "uno.wasm.bootstrap" = "abcb066159e3a089019032fbd4befda836336296" #latest release/stable/8.0 branch commit + "uno.wasm.bootstrap" = "616b29889cb85af0cca8e4291c28fc47b02b13c3" #latest release/stable/9.0 branch commit "uno.themes" = "1da7240824a1bc5ddaf5efc1ed6e22ea5a41abd9" #latest release/stable/5.2 branch commit "uno.toolkit.ui" = "a79e83cb260c17f59be6a843ce90038cb2479a61" #latest release/stable/6.2 branch commit "uno.check" = "27e686d9205654375fd2c7861c3ebe5f2ad69e93" #latest main commit