diff --git a/docs/core/install/includes/linux-install-100-apk.md b/docs/core/install/includes/linux-install-100-apk.md new file mode 100644 index 0000000000000..0f99eb8e83e08 --- /dev/null +++ b/docs/core/install/includes/linux-install-100-apk.md @@ -0,0 +1,33 @@ +--- +author: adegeo +ms.author: adegeo +ms.date: 11/07/2025 +ms.topic: include +ms.custom: linux-related-content +--- + +### Install the SDK + +The .NET SDK allows you to develop apps with .NET. If you install the .NET SDK, you don't need to install the corresponding runtime. To install the .NET SDK, run the following command: + +```bash +sudo apk add dotnet10-sdk +``` + +To learn how to use the .NET CLI, see [.NET CLI overview](../../tools/index.md). + +### Install the runtime + +The ASP.NET Core Runtime allows you to run apps that were made with .NET that didn't provide the runtime. The following command installs the ASP.NET Core Runtime, which is the most compatible runtime for .NET. In your terminal, run the following command: + +```bash +sudo apk add aspnetcore10-runtime +``` + +As an alternative to the ASP.NET Core Runtime, you can install the .NET Runtime, which doesn't include ASP.NET Core support: replace `aspnetcore10-runtime` in the previous command with `dotnet10-runtime`: + +```bash +sudo apk add dotnet10-runtime +``` + +To learn how to use the .NET CLI, see [.NET CLI overview](../../tools/index.md). diff --git a/docs/core/install/includes/linux-install-100-apt.md b/docs/core/install/includes/linux-install-100-apt.md new file mode 100644 index 0000000000000..c6e10d5112331 --- /dev/null +++ b/docs/core/install/includes/linux-install-100-apt.md @@ -0,0 +1,35 @@ +--- +author: adegeo +ms.author: adegeo +ms.date: 11/07/2025 +ms.topic: include +ms.custom: linux-related-content +--- + +### Install the SDK + +The .NET SDK allows you to develop apps with .NET. If you install the .NET SDK, you don't need to install the corresponding runtime. To install the .NET SDK, run the following commands: + +```bash +sudo apt-get update && \ + sudo apt-get install -y dotnet-sdk-10.0 +``` + +To learn how to use the .NET CLI, see [.NET CLI overview](../../tools/index.md). + +### Install the runtime + +The ASP.NET Core Runtime allows you to run apps that were made with .NET that didn't provide the runtime. The following commands install the ASP.NET Core Runtime, which is the most compatible runtime for .NET. In your terminal, run the following commands: + +```bash +sudo apt-get update && \ + sudo apt-get install -y aspnetcore-runtime-10.0 +``` + +As an alternative to the ASP.NET Core Runtime, you can install the .NET Runtime, which doesn't include ASP.NET Core support: replace `aspnetcore-runtime-10.0` in the previous command with `dotnet-runtime-10.0`: + +```bash +sudo apt-get install -y dotnet-runtime-10.0 +``` + +To learn how to use the .NET CLI, see [.NET CLI overview](../../tools/index.md). diff --git a/docs/core/install/includes/linux-install-100-dnf.md b/docs/core/install/includes/linux-install-100-dnf.md new file mode 100644 index 0000000000000..efe0a2441bc8d --- /dev/null +++ b/docs/core/install/includes/linux-install-100-dnf.md @@ -0,0 +1,33 @@ +--- +author: adegeo +ms.author: adegeo +ms.date: 11/07/2025 +ms.topic: include +ms.custom: linux-related-content +--- + +### Install the SDK + +The .NET SDK allows you to develop apps with .NET. If you install the .NET SDK, you don't need to install the corresponding runtime. To install the .NET SDK, run the following command: + +```bash +sudo dnf install dotnet-sdk-10.0 +``` + +To learn how to use the .NET CLI, see [.NET CLI overview](../../tools/index.md). + +### Install the runtime + +The ASP.NET Core Runtime allows you to run apps that were made with .NET that didn't provide the runtime. The following command installs the ASP.NET Core Runtime, which is the most compatible runtime for .NET. In your terminal, run the following command: + +```bash +sudo dnf install aspnetcore-runtime-10.0 +``` + +As an alternative to the ASP.NET Core Runtime, you can install the .NET Runtime, which doesn't include ASP.NET Core support: replace `aspnetcore-runtime-10.0` in the previous command with `dotnet-runtime-10.0`: + +```bash +sudo dnf install dotnet-runtime-10.0 +``` + +To learn how to use the .NET CLI, see [.NET CLI overview](../../tools/index.md). diff --git a/docs/core/install/includes/linux-install-100-zyp.md b/docs/core/install/includes/linux-install-100-zyp.md new file mode 100644 index 0000000000000..293f695d06c64 --- /dev/null +++ b/docs/core/install/includes/linux-install-100-zyp.md @@ -0,0 +1,33 @@ +--- +author: adegeo +ms.author: adegeo +ms.date: 11/07/2025 +ms.topic: include +ms.custom: linux-related-content +--- + +### Install the SDK + +The .NET SDK allows you to develop apps with .NET. If you install the .NET SDK, you don't need to install the corresponding runtime. To install the .NET SDK, run the following command: + +```bash +sudo zypper install dotnet-sdk-10.0 +``` + +To learn how to use the .NET CLI, see [.NET CLI overview](../../tools/index.md). + +### Install the runtime + +The ASP.NET Core Runtime allows you to run apps that were made with .NET that didn't provide the runtime. The following command installs the ASP.NET Core Runtime, which is the most compatible runtime for .NET. In your terminal, run the following command: + +```bash +sudo zypper install aspnetcore-runtime-10.0 +``` + +As an alternative to the ASP.NET Core Runtime, you can install the .NET Runtime, which doesn't include ASP.NET Core support: replace `aspnetcore-runtime-10.0` in the previous command with `dotnet-runtime-10.0`: + +```bash +sudo zypper install dotnet-runtime-10.0 +``` + +To learn how to use the .NET CLI, see [.NET CLI overview](../../tools/index.md). diff --git a/docs/core/install/includes/linux-release-wait.md b/docs/core/install/includes/linux-release-wait.md index 40846c4fbbddd..a11a97237f995 100644 --- a/docs/core/install/includes/linux-release-wait.md +++ b/docs/core/install/includes/linux-release-wait.md @@ -1,10 +1,10 @@ --- author: adegeo ms.author: adegeo -ms.date: 11/11/2024 +ms.date: 11/06/2025 ms.topic: include ms.custom: linux-related-content --- > [!IMPORTANT] -> .NET 9 was released on November 12, 2024. It may take time for the packages to appear in the package manager feeds or for your specific Linux distribution to include it. +> .NET 10 was released on November 11, 2025. It may take time for the packages to appear in the package manager feeds or for your specific Linux distribution to include it. diff --git a/docs/core/install/includes/linux-rpm-install-dependencies.md b/docs/core/install/includes/linux-rpm-install-dependencies.md deleted file mode 100644 index e698df1faf571..0000000000000 --- a/docs/core/install/includes/linux-rpm-install-dependencies.md +++ /dev/null @@ -1,24 +0,0 @@ ---- -author: adegeo -ms.author: adegeo -ms.date: 11/11/2024 -ms.topic: include -ms.custom: linux-related-content ---- - -When you install with a package manager, these libraries are installed for you. But, if you manually install .NET or you publish a self-contained app, you'll need to make sure these libraries are installed: - -- krb5-libs -- libicu -- openssl-libs -- zlib - -If the target runtime environment's OpenSSL version is 1.1 or newer, you'll need to install `compat-openssl10`. - -Dependencies can be installed with the `yum install` command. The following snippet demonstrates installing the `libicu` library: - -```bash -sudo yum install libicu -``` - -For more information about the dependencies, see [Self-contained Linux apps](https://github.com/dotnet/core/blob/main/Documentation/self-contained-linux-apps.md). diff --git a/docs/core/install/includes/verify-download-windows.md b/docs/core/install/includes/verify-download-windows.md deleted file mode 100644 index 770de9692cc7b..0000000000000 --- a/docs/core/install/includes/verify-download-windows.md +++ /dev/null @@ -1,58 +0,0 @@ ---- -author: adegeo -ms.author: adegeo -ms.date: 11/14/2023 -ms.topic: include ---- - -You can use **PowerShell** or **Command Prompt** to validate the checksum of the file you've downloaded. For example, the following command reports the checksum of the _dotnet-sdk-8.0.100-win-x64.exe_ file: - -```cmd -> certutil -hashfile dotnet-sdk-8.0.100-win-x64.exe SHA512 -SHA512 hash of dotnet-sdk-8.0.100-win-x64.exe: -248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e -CertUtil: -hashfile command completed successfully. -``` - -```powershell -> (Get-FileHash .\dotnet-sdk-8.0.100-win-x64.exe -Algorithm SHA512).Hash -248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e -``` - -Compare the checksum with the value provided by the download site. - -### Use PowerShell and a checksum file to validate - -The .NET release notes contain a link to a checksum file you can use to validate your downloaded file. The following steps describe how to download the checksum file and validate a .NET install binary: - -01. The release notes page for .NET 8 on GitHub at contains a section named **Releases**. The table in that section links to the downloads and checksum files for each .NET 8 release: - - :::image type="content" source="../media/install-sdk/release-notes-root.png" alt-text="The github release notes version table for .NET"::: - -01. Select the link for the version of .NET that you downloaded. The previous section used .NET SDK 8.0.100, which is in the .NET 8.0.0 release. - - > [!TIP] - > If you're not sure which .NET release contains your checksum file, explore the links until you find it. - -01. In the release page, you can see the .NET Runtime and .NET SDK version, and a link to the checksum file: - - :::image type="content" source="../media/install-sdk/release-notes-version.png" alt-text="The download table with checksums for .NET"::: - -01. Copy the link to the checksum file. - -01. Use the following script, but replace the link to download the appropriate checksum file: - - ```powershell - Invoke-WebRequest https://builds.dotnet.microsoft.com/dotnet/checksums/8.0.0-sha.txt -OutFile 8.0.0-sha.txt - ``` - -01. With both the checksum file and the .NET release file downloaded to the same directory, search the checksum file for the checksum of the .NET download: - - When validation passes, you see **True** printed: - - ```powershell - > (Get-Content .\8.0.0-sha.txt | Select-String "dotnet-sdk-8.0.100-win-x64.exe").Line -like (Get-FileHash .\dotnet-sdk-8.0.100-win-x64.exe -Algorithm SHA512).Hash + "*" - True - ``` - - If you see **False** printed, the file you downloaded isn't valid and shouldn't be used. diff --git a/docs/core/install/includes/versions-not-supported.md b/docs/core/install/includes/versions-not-supported.md index 35bcfd7222c10..9b25a62cf5db8 100644 --- a/docs/core/install/includes/versions-not-supported.md +++ b/docs/core/install/includes/versions-not-supported.md @@ -1,7 +1,7 @@ --- author: adegeo ms.author: adegeo -ms.date: 11/11/2024 +ms.date: 11/06/2025 ms.topic: include --- diff --git a/docs/core/install/index.yml b/docs/core/install/index.yml index ec58a19e0411c..39a51beef48ab 100644 --- a/docs/core/install/index.yml +++ b/docs/core/install/index.yml @@ -7,7 +7,7 @@ metadata: title: Install .NET on Windows, Linux, and macOS description: Learn where to download and install .NET on Windows, Linux, and macOS. Discover the dependencies required to develop, deploy, and run .NET apps. ms.topic: landing-page - ms.date: 01/26/2023 + ms.date: 11/08/2025 # linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | sample | tutorial | video | whats-new diff --git a/docs/core/install/linux-alpine.md b/docs/core/install/linux-alpine.md index 723a65b1dcfb6..127e31dcb915f 100644 --- a/docs/core/install/linux-alpine.md +++ b/docs/core/install/linux-alpine.md @@ -3,7 +3,7 @@ title: Install .NET on Alpine description: Learn about which versions of .NET SDK and .NET Runtime are supported, and how to install .NET on Alpine. author: adegeo ms.author: adegeo -ms.date: 12/13/2024 +ms.date: 11/07/2025 ms.custom: linux-related-content --- @@ -13,6 +13,8 @@ ms.custom: linux-related-content If you're using Docker, consider using [official .NET Docker images](../docker/introduction.md#net-images) instead of installing .NET yourself. +[!INCLUDE [linux-release-wait](includes/linux-release-wait.md)] + [!INCLUDE [linux-intro-sdk-vs-runtime](includes/linux-intro-sdk-vs-runtime.md)] ## Supported distributions @@ -21,18 +23,21 @@ The following table is a list of currently supported .NET releases and the versi | Alpine | Supported Version | Available in Package Manager | |--------|-------------------|------------------------------| +| 3.22 | 10.0, 9.0, 8.0 | 9.0, 8.0 | | 3.21 | 9.0, 8.0 | 9.0, 8.0 | | 3.20 | 9.0, 8.0 | 8.0, 6.0 | -| 3.19 | 9.0, 8.0 | 7.0, 6.0 | -| 3.18 | 8.0 | 7.0, 6.0 | [!INCLUDE [versions-not-supported](includes/versions-not-supported.md)] ## Install .NET -# [.NET 9](#tab/dotnet9) +# [.NET 10](#tab/dotnet10) + +[!INCLUDE [linux-release-wait](includes/linux-release-wait.md)] -**Not supported on Alpine 3.18.** +[!INCLUDE [linux-apk-install-100](includes/linux-install-100-apk.md)] + +# [.NET 9](#tab/dotnet9) [!INCLUDE [linux-apk-install-90](includes/linux-install-90-apk.md)] @@ -46,16 +51,16 @@ The following table is a list of currently supported .NET releases and the versi The following table is a list of currently supported .NET releases and the architecture of Alpine they're supported on. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the architecture of [Alpine is supported#](https://alpinelinux.org/releases/). Note that only `x86_64`, `armv7`, `aarch64` is officially supported by Microsoft. Other architectures are supported by the distribution maintainers, and can be installed using the `apk` package manager, if a package is available for that architecture. -| Architecture | .NET 9 | .NET 8 | -|--------------|------------------------|------------------------| -| x86_64 | 3.19, 3.20, 3.21 | 3.18, 3.19, 3.20, 3.21 | -| x86 | None | None | -| aarch64 | 3.19, 3.20, 3.21 | 3.18, 3.19, 3.20, 3.21 | -| armv7 | 3.19, 3.20, 3.21 | 3.18, 3.19, 3.20, 3.21 | -| armhf | None | None | -| s390x | None | None | -| ppc64le | None | None | -| riscv64 | None | None | +| Architecture | .NET 10 | .NET 9 | .NET 8 | +|--------------|----------|-------------------|------------------------| +| x86_64 | 3.22 | 3.20, 3.21, 3.22 | 3.20, 3.21, 3.22 | +| x86 | None | None | None | +| aarch64 | 3.22 | 3.20, 3.21, 3.22 | 3.20, 3.21, 3.22 | +| armv7 | 3.22 | 3.20, 3.21, 3.22 | 3.20, 3.21, 3.22 | +| armhf | None | None | None | +| s390x | None | None | None | +| ppc64le | None | None | None | +| riscv64 | None | None | None | ## Install preview versions @@ -69,15 +74,16 @@ The following table is a list of currently supported .NET releases and the archi When you install with a package manager, these libraries are installed for you. But, if you manually install .NET or you publish a self-contained app, you'll need to make sure these libraries are installed: -### 3.18+ +### 3.20+ -- ca-certificates-bundle +- ca-certificates - libgcc - libssl3 - libstdc++ -- zlib -- icu-libs and icu-data-full (unless the .NET app is running in [globalization-invariant mode](../runtime-config/globalization.md#invariant-mode) -- libgdiplus (if the .NET app requires the *System.Drawing.Common* assembly) +- zlib (.NET 8 only) +- icu-libs and icu-data-full (unless the .NET app is running in [globalization-invariant mode](../runtime-config/globalization.md#invariant-mode)) +- tzdata +- krb5 Use the `apk add` command to install the dependencies. diff --git a/docs/core/install/linux-debian.md b/docs/core/install/linux-debian.md index 92a6f4503f465..e964ea8511567 100644 --- a/docs/core/install/linux-debian.md +++ b/docs/core/install/linux-debian.md @@ -3,7 +3,7 @@ title: Install .NET on Debian description: Learn about which versions of .NET SDK and .NET Runtime are supported, and how to install .NET on Debian. author: adegeo ms.author: adegeo -ms.date: 11/01/2024 +ms.date: 11/07/2025 ms.custom: linux-related-content --- @@ -19,9 +19,10 @@ This article describes how to install .NET on Debian. When a Debian version fall The following table is a list of currently supported .NET releases and the versions of Debian they're supported on. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the version of [Debian reaches end-of-life](https://wiki.debian.org/DebianReleases). -| Debian | .NET | -|--------|---------| -| 12 | 9, 8 | +| Debian | .NET | +|--------|----------| +| 13 | 10, 9 | +| 12 | 10, 9, 8 | [!INCLUDE [versions-not-supported](includes/versions-not-supported.md)] @@ -33,6 +34,16 @@ The following table is a list of currently supported .NET releases and the versi [!INCLUDE [package-manager uninstall notice](./includes/linux-uninstall-preview-info.md)] +## Debian 13 + +[!INCLUDE [linux-prep-intro-apt](includes/linux-prep-intro-apt.md)] + +```bash +wget https://packages.microsoft.com/config/debian/13/packages-microsoft-prod.deb -O packages-microsoft-prod.deb +sudo dpkg -i packages-microsoft-prod.deb +rm packages-microsoft-prod.deb +``` + ## Debian 12 [!INCLUDE [linux-prep-intro-apt](includes/linux-prep-intro-apt.md)] @@ -43,6 +54,10 @@ sudo dpkg -i packages-microsoft-prod.deb rm packages-microsoft-prod.deb ``` +# [.NET 10](#tab/dotnet10) + +[!INCLUDE [linux-apt-install-100](includes/linux-install-100-apt.md)] + # [.NET 9](#tab/dotnet9) [!INCLUDE [linux-apt-install-90](includes/linux-install-90-apt.md)] @@ -92,7 +107,7 @@ If you're using a Debian version prior to 12, try the following commands: When you install with a package manager, these libraries are installed for you. But, if you manually install .NET or you publish a self-contained app, you'll need to make sure these libraries are installed: -### 12.x +### 13.x - libc6 - libgcc-s1 @@ -102,23 +117,13 @@ When you install with a package manager, these libraries are installed for you. - libstdc++6 - zlib1g -### 11.x +### 12.x - libc6 - libgcc-s1 - libgssapi-krb5-2 -- libicu67 -- libssl1.1 -- libstdc++6 -- zlib1g - -### 10.x - -- libc6 -- libgcc1 -- libgssapi-krb5-2 -- libicu63 -- libssl1.1 +- libicu72 +- libssl3 - libstdc++6 - zlib1g diff --git a/docs/core/install/linux-fedora.md b/docs/core/install/linux-fedora.md index 0655bb2082ea5..59d6a24a623d1 100644 --- a/docs/core/install/linux-fedora.md +++ b/docs/core/install/linux-fedora.md @@ -3,7 +3,7 @@ title: Install .NET on Fedora description: Learn about which versions of .NET SDK and .NET Runtime are supported, and how to install .NET on Fedora. author: adegeo ms.author: adegeo -ms.date: 11/01/2024 +ms.date: 11/07/2025 ms.custom: linux-related-content --- @@ -22,13 +22,18 @@ For more information on installing .NET without a package manager, see one of th The following table is a list of currently supported .NET releases and the versions of Fedora they're supported on. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the version of [Fedora reaches end-of-life](https://fedoraproject.org/wiki/End_of_life). -| Fedora | .NET | -|--------|---------------| -| 41 | 9.0, 8.0 | -| 40 | 9.0, 8.0 | +| Fedora | .NET | +|--------|----------------| +| 43 | 10.0, 9.0, 8.0 | +| 42 | 10.0, 9.0, 8.0 | +| 41 | 9.0, 8.0 | [!INCLUDE [versions-not-supported](includes/versions-not-supported.md)] +# [.NET 10](#tab/dotnet10) + +[!INCLUDE [linux-dnf-install-100](includes/linux-install-100-dnf.md)] + # [.NET 9](#tab/dotnet9) [!INCLUDE [linux-dnf-install-90](includes/linux-install-90-dnf.md)] @@ -49,7 +54,23 @@ The following table is a list of currently supported .NET releases and the versi ## Dependencies -[!INCLUDE [linux-rpm-install-dependencies](includes/linux-rpm-install-dependencies.md)] +.NET depends on various Linux packages for different functionality. The following packages are required: + +- glibc +- libgcc +- ca-certificates +- openssl-libs +- libstdc++ +- libicu +- tzdata +- krb5-libs +- zlib (required for .NET 8 only) + +You can install all the required packages with the following command: + +```bash +sudo dnf install -y glibc libgcc ca-certificates openssl-libs libstdc++ libicu tzdata krb5-libs zlib +``` ## How to install other versions diff --git a/docs/core/install/linux-opensuse.md b/docs/core/install/linux-opensuse.md index 5cd5a09e9b3a2..1734c00c668fa 100644 --- a/docs/core/install/linux-opensuse.md +++ b/docs/core/install/linux-opensuse.md @@ -3,7 +3,7 @@ title: Install .NET on openSUSE Leap description: Learn about which versions of .NET SDK and .NET Runtime are supported, and how to install .NET on openSUSE Leap. author: adegeo ms.author: adegeo -ms.date: 11/01/2024 +ms.date: 11/07/2025 ms.custom: linux-related-content --- @@ -19,10 +19,10 @@ ms.custom: linux-related-content The following table is a list of currently supported .NET releases on openSUSE Leap 15. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the version of openSUSE Leap is no longer supported. -| openSUSE Leap | .NET | -|---------------|----------| -| 15.6 | 9.0, 8.0 | -| 15.5 | 9.0, 8.0 | +| openSUSE Leap | .NET | +|---------------|----------------| +| 16 | 10.0, 9.0, 8.0 | +| 15.6 | 10.0, 9.0, 8.0 | [!INCLUDE [versions-not-supported](includes/versions-not-supported.md)] @@ -34,6 +34,32 @@ The following table is a list of currently supported .NET releases on openSUSE L [!INCLUDE [package-manager uninstall notice](./includes/linux-uninstall-preview-info.md)] +## openSUSE Leap 16 + +[!INCLUDE [linux-prep-intro-generic](includes/linux-prep-intro-generic.md)] + +```bash +sudo zypper install libicu +sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc +wget https://packages.microsoft.com/config/opensuse/16/prod.repo +sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo +sudo chown root:root /etc/zypp/repos.d/microsoft-prod.repo +``` + +# [.NET 10](#tab/dotnet10) + +[!INCLUDE [linux-zyp-install-100](includes/linux-install-100-zyp.md)] + +# [.NET 9](#tab/dotnet9) + +[!INCLUDE [linux-zyp-install-90](includes/linux-install-90-zyp.md)] + +# [.NET 8](#tab/dotnet8) + +[!INCLUDE [linux-zyp-install-80](includes/linux-install-80-zyp.md)] + +--- + ## openSUSE Leap 15 [!INCLUDE [linux-prep-intro-generic](includes/linux-prep-intro-generic.md)] @@ -46,6 +72,10 @@ sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo sudo chown root:root /etc/zypp/repos.d/microsoft-prod.repo ``` +# [.NET 10](#tab/dotnet10) + +[!INCLUDE [linux-zyp-install-100](includes/linux-install-100-zyp.md)] + # [.NET 9](#tab/dotnet9) [!INCLUDE [linux-zyp-install-90](includes/linux-install-90-zyp.md)] @@ -78,9 +108,7 @@ When you install with a package manager, these libraries are installed for you. - krb5 - libicu -- libopenssl1_0_0 - -If the target runtime environment's OpenSSL version is 1.1 or newer, you'll need to install `compat-openssl10`. +- libopenssl1_1 Dependencies can be installed with the `zypper install` command. The following snippet demonstrates installing the `krb5` library: diff --git a/docs/core/install/linux-package-mixup.md b/docs/core/install/linux-package-mixup.md index 8e94ecabb5df9..9b8dccc406d6c 100644 --- a/docs/core/install/linux-package-mixup.md +++ b/docs/core/install/linux-package-mixup.md @@ -3,7 +3,7 @@ title: Troubleshoot .NET package mix ups on Linux description: Learn about how to troubleshoot strange .NET package errors on Linux. These errors may occur when you run the dotnet command. author: omajid ms.author: adegeo -ms.date: 11/04/2024 +ms.date: 11/08/2025 ms.custom: linux-related-content no-loc: ['usr','lib64','share','dotnet','libhostfxr.so', 'fxr', 'FrameworkList.xml', 'System.IO.FileNotFoundException'] zone_pivot_groups: operating-systems-set-two diff --git a/docs/core/install/linux-rhel.md b/docs/core/install/linux-rhel.md index d7d94393e17d4..f17414e921a95 100644 --- a/docs/core/install/linux-rhel.md +++ b/docs/core/install/linux-rhel.md @@ -3,7 +3,7 @@ title: Install .NET on RHEL and CentOS Stream description: Learn about which versions of .NET are supported, and how to install .NET on Red Hat Enterprise Linux and CentOS Stream. author: adegeo ms.author: adegeo -ms.date: 12/13/2024 +ms.date: 11/07/2025 ms.custom: linux-related-content --- @@ -24,13 +24,13 @@ To install .NET from Red Hat on RHEL, you first need to register using the Red H The following table is a list of currently supported .NET releases on both RHEL and CentOS Stream. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the Linux distribution is no longer supported. -| Distribution | .NET | -|---------------------------------------------------------------|----------| -| [RHEL 9](#rhel-9) | 9.0, 8.0 | -| [RHEL 8](#rhel-8) | 9.0, 8.0 | -| [CentOS Stream 9](#centos-stream-9) | 9.0, 8.0 | -| [CentOS Stream 8](#centos-stream-8) | 8.0, | -| [CentOS Linux is no longer supported](#where-is-centos-linux) | | +| Distribution | .NET | +|---------------------------------------|----------------| +| [RHEL 10](#rhel-10) | 10.0, 9.0, 8.0 | +| [RHEL 9](#rhel-9) | 10.0, 9.0, 8.0 | +| [RHEL 8](#rhel-8) | 9.0, 8.0 | +| [CentOS Stream 10](#centos-stream-10) | 10.0, 9.0, 8.0 | +| [CentOS Stream 9](#centos-stream-9) | 10.0, 9.0, 8.0 | [!INCLUDE [versions-not-supported](includes/versions-not-supported.md)] @@ -42,11 +42,17 @@ The following table is a list of currently supported .NET releases on both RHEL [!INCLUDE [package-manager uninstall notice](./includes/linux-uninstall-preview-info.md)] +## RHEL 10 + +.NET is included in the [AppStream repositories](https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle) for RHEL 10. + +[!INCLUDE [linux-dnf-install-100](includes/linux-install-100-dnf.md)] + ## RHEL 9 .NET is included in the [AppStream repositories](https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle) for RHEL 9. -[!INCLUDE [linux-dnf-install-90](includes/linux-install-90-dnf.md)] +[!INCLUDE [linux-dnf-install-100](includes/linux-install-100-dnf.md)] ## RHEL 8 @@ -54,22 +60,17 @@ The following table is a list of currently supported .NET releases on both RHEL [!INCLUDE [linux-dnf-install-90](includes/linux-install-90-dnf.md)] -## CentOS Stream 9 +## CentOS Stream 10 -.NET is included in the AppStream repositories for CentOS Stream 9. +.NET is included in the AppStream repositories for CentOS Stream 10. -[!INCLUDE [linux-dnf-install-90](includes/linux-install-90-dnf.md)] - -## CentOS Stream 8 +[!INCLUDE [linux-dnf-install-100](includes/linux-install-100-dnf.md)] -Use the Microsoft repository to install .NET: +## CentOS Stream 9 -```bash -sudo rpm -Uvh https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm -sudo yum install dotnet-sdk-8.0 -``` +.NET is included in the AppStream repositories for CentOS Stream 9. -To learn how to use the .NET CLI, see [.NET CLI overview](../tools/index.md). +[!INCLUDE [linux-dnf-install-100](includes/linux-install-100-dnf.md)] ## Where is CentOS Linux @@ -77,11 +78,33 @@ To learn how to use the .NET CLI, see [.NET CLI overview](../tools/index.md). ## Dependencies -[!INCLUDE [linux-rpm-install-dependencies](includes/linux-rpm-install-dependencies.md)] +The following libraries are required for .NET to run on RHEL and CentOS Stream. Install them using the `dnf` package manager: + +- glibc +- libgcc +- ca-certificates +- openssl-libs +- libstdc++ +- libicu +- tzdata +- krb5-libs +- zlib (required for .NET 8 only) + +For example, to install all dependencies: + +```bash +sudo dnf install glibc libgcc ca-certificates openssl-libs libstdc++ libicu tzdata krb5-libs +``` + +For .NET 8, also install: + +```bash +sudo dnf install zlib +``` ## How to install other versions -Consult the [Red Hat documentation for .NET](https://access.redhat.com/documentation/en-us/net/5.0) on the steps required to install other releases of .NET. +Consult the [Red Hat documentation for .NET](https://docs.redhat.com/documentation/net/) on the steps required to install other releases of .NET. ## Troubleshoot the package manager diff --git a/docs/core/install/linux-scripted-manual.md b/docs/core/install/linux-scripted-manual.md index 3760bbc10b6df..b781569b1fcb7 100644 --- a/docs/core/install/linux-scripted-manual.md +++ b/docs/core/install/linux-scripted-manual.md @@ -3,7 +3,7 @@ title: Install .NET on Linux without using a package manager description: Demonstrates how to install the .NET SDK and the .NET Runtime on Linux without a package manager. Use the install script or manually extract the binaries. author: adegeo ms.author: adegeo -ms.date: 11/07/2025 +ms.date: 11/08/2025 ms.custom: linux-related-content, updateeachrelease --- @@ -49,9 +49,14 @@ For generic information about the dependencies, see [Self-contained Linux apps]( If your distribution wasn't previously listed, and is RPM-based, you might need the following dependencies: -- krb5-libs -- libicu +- glibc +- libgcc +- ca-certificates - openssl-libs +- libstdc++ +- libicu +- tzdata +- krb5-libs ### DEB dependencies @@ -90,7 +95,7 @@ Before running this script, make sure you grant permission for this script to ru chmod +x ./dotnet-install.sh ``` -The script defaults to installing the latest [long term support (LTS)](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) SDK version, which is .NET 8. To install the latest release, which might not be an (LTS) version, use the `--version latest` parameter. +The script defaults to installing the latest [long term support (LTS)](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) SDK version, which is .NET 10. To install the latest release, which might not be an (LTS) version, use the `--version latest` parameter. ```bash ./dotnet-install.sh --version latest @@ -141,7 +146,7 @@ The following commands use Bash to set the environment variable `DOTNET_ROOT` to > If you run these commands, remember to change the `DOTNET_FILE` value to the name of the .NET binary you downloaded. ```bash -DOTNET_FILE=dotnet-sdk-9.0.100-linux-x64.tar.gz +DOTNET_FILE=dotnet-sdk-9.0.306-linux-x64.tar.gz export DOTNET_ROOT=$(pwd)/.dotnet mkdir -p "$DOTNET_ROOT" && tar zxf "$DOTNET_FILE" -C "$DOTNET_ROOT" @@ -163,11 +168,11 @@ To learn how to use the .NET CLI, see [.NET CLI overview](../tools/index.md). [!INCLUDE [verify-download-intro](includes/verify-download-intro.md)] -Use the `sha512sum` command to print the checksum of the file you've downloaded. For example, the following command reports the checksum of the _dotnet-sdk-8.0.100-linux-x64.tar.gz_ file: +Use the `sha512sum` command to print the checksum of the file you've downloaded. For example, the following command reports the checksum of the _dotnet-sdk-9.0.306-linux-x64.tar.gz_ file: ```bash -$ sha512sum dotnet-sdk-8.0.100-linux-x64.tar.gz -13905ea20191e70baeba50b0e9bbe5f752a7c34587878ee104744f9fb453bfe439994d38969722bdae7f60ee047d75dda8636f3ab62659450e9cd4024f38b2a5 dotnet-sdk-8.0.100-linux-x64.tar.gz +$ sha512sum dotnet-sdk-9.0.306-linux-x64.tar.gz +bbb6bdc3c8048e7cc189759b406257839e7d4bd6b8b1ba4bcdaeea8f92340e6855231043dd73f902130ca5357af72b810bb51a4da4d1315a2927ff85f831f1d5 dotnet-sdk-9.0.306-linux-x64.tar.gz ``` Compare the checksum with the value provided by the download site. @@ -176,15 +181,15 @@ Compare the checksum with the value provided by the download site. The .NET release notes contain a link to a checksum file you can use to validate your downloaded file. The following steps describe how to download the checksum file and validate a .NET install binary: -01. The release notes page for .NET 8 on GitHub at contains a section named **Releases**. The table in that section links to the downloads and checksum files for each .NET 8 release: +01. The release notes page for .NET 9 on GitHub at contains a section named **Releases**. The table in that section links to the downloads and checksum files for each .NET 9 release. The following image shows the .NET 8 release table as a reference: :::image type="content" source="media/install-sdk/release-notes-root.png" alt-text="The github release notes version table for .NET"::: 01. Select the link for the version of .NET that you downloaded. - The previous section used .NET SDK 8.0.100, which is in the .NET 8.0.0 release. + The previous section used .NET SDK 9.0.306, which is in the .NET 9.0.10 release. -01. In the release page, you can see the .NET Runtime and .NET SDK version, and a link to the checksum file: +01. In the release page, you can see the .NET Runtime and .NET SDK version, and a link to the checksum file. The following image shows the .NET 8 release table as a reference: :::image type="content" source="media/install-sdk/release-notes-version.png" alt-text="The download table with checksums for .NET"::: @@ -197,7 +202,7 @@ The .NET release notes contain a link to a checksum file you can use to validate Replace the link in the following command with the link you copied. ```bash - curl -O https://builds.dotnet.microsoft.com/dotnet/checksums/8.0.0-sha.txt + curl -O https://builds.dotnet.microsoft.com/dotnet/checksums/9.0.10-sha.txt ``` 01. With both the checksum file and the .NET release file downloaded to the same directory, use the `sha512sum -c {file} --ignore-missing` command to validate the downloaded file. @@ -205,17 +210,17 @@ The .NET release notes contain a link to a checksum file you can use to validate When validation passes, you see the file printed with the **OK** status: ```bash - $ sha512sum -c 8.0.0-sha.txt --ignore-missing - dotnet-sdk-8.0.100-linux-x64.tar.gz: OK + $ sha512sum -c 9.0.10-sha.txt --ignore-missing + dotnet-sdk-9.0.306-linux-x64.tar.gz: OK ``` If you see the file marked as **FAILED**, the file you downloaded isn't valid and shouldn't be used. ```bash - $ sha512sum -c 8.0.0-sha.txt --ignore-missing - dotnet-sdk-8.0.100-linux-x64.tar.gz: FAILED + $ sha512sum -c 9.0.10-sha.txt --ignore-missing + dotnet-sdk-9.0.306-linux-x64.tar.gz: FAILED sha512sum: WARNING: 1 computed checksum did NOT match - sha512sum: 8.0.0-sha.txt: no file was verified + sha512sum: 9.0.10-sha.txt: no file was verified ``` ## Set environment variables system-wide diff --git a/docs/core/install/linux-sles.md b/docs/core/install/linux-sles.md index 949e5bfa3c5ff..b230cef38469d 100644 --- a/docs/core/install/linux-sles.md +++ b/docs/core/install/linux-sles.md @@ -3,7 +3,7 @@ title: Install .NET on SUSE Enterprise Linux description: Learn about which versions of .NET SDK and .NET Runtime are supported, and how to install .NET on SUSE Enterprise Linux (SLES). author: adegeo ms.author: adegeo -ms.date: 11/11/2024 +ms.date: 11/07/2025 ms.custom: linux-related-content --- @@ -15,12 +15,13 @@ ms.custom: linux-related-content ## Supported distributions -The following table is a list of currently supported .NET releases on SLES 15. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the version of SLES is no longer supported. +The following table is a list of currently supported .NET releases on SLES. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the version of SLES is no longer supported. -| SLES | .NET | -|--------|----------| -| 15.6 | 9.0, 8.0 | -| 15.5 | 9.0, 8.0 | +| SLES | .NET | +|--------|---------------| +| 16.0 | 10, 9.0, 8.0 | +| 15.7 | 10, 9.0, 8.0 | +| 15.6 | 10, 9.0, 8.0 | [!INCLUDE [versions-not-supported](includes/versions-not-supported.md)] diff --git a/docs/core/install/linux-ubuntu-decision.md b/docs/core/install/linux-ubuntu-decision.md index 96d16b1b9b605..d2a7268a3dec0 100644 --- a/docs/core/install/linux-ubuntu-decision.md +++ b/docs/core/install/linux-ubuntu-decision.md @@ -3,7 +3,7 @@ title: .NET and Ubuntu overview description: Learn about the ways you can install .NET on Ubuntu, either from the built-in package feed, the .NET backports repository, or the Microsoft repository. author: adegeo ms.author: adegeo -ms.date: 03/27/2025 +ms.date: 11/08/2025 ms.custom: updateeachrelease, linux-related-content --- @@ -21,9 +21,10 @@ The following table is a list of currently supported .NET releases and the versi | Ubuntu | Supported .NET versions | Available in
built-in Ubuntu feed | [Available in
.NET backports
Ubuntu feed](#register-the-ubuntu-net-backports-package-repository) | [Available in
Microsoft feed](#register-the-microsoft-package-repository) | |--------------------------------------------------------------------|-------------------------|--------------------------------------|--------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------| -| [25.04](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2504) | 9.0, 8.0 | 9.0, 8.0 | None | None | -| [24.04 (LTS)](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2404) | 9.0, 8.0 | 8.0 | 9.0, 7.0, 6.0 | None | -| [22.04 (LTS)](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2204) | 9.0, 8.0 | 8.0, 7.0, 6.0 | 9.0 | 8.0, 7.0, 6.0, 3.1 | +| [25.10](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2510) | 10.0, 9.0, 8.0 | 9.0, 8.0 | None | None | +| [25.04](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2504) | 10.0, 9.0, 8.0 | 9.0, 8.0 | None | None | +| [24.04 (LTS)](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2404) | 10.0, 9.0, 8.0 | 8.0 | 9.0, 7.0, 6.0 | None | +| [22.04 (LTS)](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2204) | 10.0, 9.0, 8.0 | 8.0, 7.0, 6.0 | 9.0 | 8.0, 7.0, 6.0, 3.1 | When an [Ubuntu version](https://wiki.ubuntu.com/Releases) reaches the end of its support period, .NET is no longer supported with that particular Ubuntu version. @@ -68,6 +69,7 @@ Use the following sections to determine how you should install .NET: If you don't need other Microsoft packages, such as `powershell`, `mdatp`, or `mssql`, install .NET through the Ubuntu feed. For more information, see the following pages: +- [Install .NET on Ubuntu 25.10](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2510). - [Install .NET on Ubuntu 25.04](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2504). - [Install .NET on Ubuntu 24.04](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2404). - [Install .NET on Ubuntu 22.04](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2204). @@ -132,7 +134,7 @@ Starting with .NET 8 on Ubuntu 22.04, Canonical supports .NET for the IBM System Install .NET through the built-in Ubuntu feed. For more information, see the following page: -- [Install .NET 9 on Ubuntu 25.04](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2504&tabs=dotnet9). +- [Install .NET 10 on Ubuntu 25.10](linux-ubuntu-install.md?pivots=os-linux-ubuntu-2510&tabs=dotnet10). ## Register a package repository @@ -238,16 +240,19 @@ The following sections describe how to manage .NET through the package manager. ### Install .NET -Install .NET through the package manager with the `sudo apt install ` command. Replace `` with the name of the .NET package you want to install. For example, to install .NET SDK 9.0, use the command `sudo apt install dotnet-sdk-9.0`. The following table lists the currently supported .NET packages (which [might vary by your Ubuntu version](#supported-distributions)): +Install .NET through the package manager with the `sudo apt install ` command. Replace `` with the name of the .NET package you want to install. For example, to install .NET SDK 10.0, use the command `sudo apt install dotnet-sdk-10.0`. The following table lists the currently supported .NET packages (which [might vary by your Ubuntu version](#supported-distributions)): -|| Product | Type | Package | -|---------|--------------|---------|--------------------------| -| **9.0** | ASP.NET Core | Runtime | `aspnetcore-runtime-9.0` | -| **9.0** | .NET | Runtime | `dotnet-runtime-9.0` | -| **9.0** | .NET | SDK | `dotnet-sdk-9.0` | -| **8.0** | ASP.NET Core | Runtime | `aspnetcore-runtime-8.0` | -| **8.0** | .NET | Runtime | `dotnet-runtime-8.0` | -| **8.0** | .NET | SDK | `dotnet-sdk-8.0` | +|| Product | Type | Package | +|---------|--------------|---------|----------------------------| +| **10.0** | ASP.NET Core | Runtime | `aspnetcore-runtime-10.0` | +| **10.0** | .NET | Runtime | `dotnet-runtime-10.0` | +| **10.0** | .NET | SDK | `dotnet-sdk-10.0` | +| **9.0** | ASP.NET Core | Runtime | `aspnetcore-runtime-9.0` | +| **9.0** | .NET | Runtime | `dotnet-runtime-9.0` | +| **9.0** | .NET | SDK | `dotnet-sdk-9.0` | +| **8.0** | ASP.NET Core | Runtime | `aspnetcore-runtime-8.0` | +| **8.0** | .NET | Runtime | `dotnet-runtime-8.0` | +| **8.0** | .NET | SDK | `dotnet-sdk-8.0` | > [!TIP] > If you're not creating .NET apps, install the ASP.NET Core runtime as it includes the .NET runtime and also supports ASP.NET Core apps. @@ -266,11 +271,11 @@ For more information, see [Uninstall .NET](remove-runtime-sdk-versions.md?pivots ### Update .NET -If you installed .NET through a package manager, you can upgrade the package with the `apt upgrade` command. For example, the following commands upgrade the `dotnet-sdk-9.0` package with the latest version: +If you installed .NET through a package manager, you can upgrade the package with the `apt upgrade` command. For example, the following commands upgrade the `dotnet-sdk-10.0` package with the latest version: ```bash sudo apt update -sudo apt upgrade dotnet-sdk-9.0 +sudo apt upgrade dotnet-sdk-10.0 ``` > [!TIP] @@ -335,11 +340,11 @@ When you install with a package manager, these libraries are installed for you. - libicu72 (for 23.10) - libicu74 (for 24.04) - libicu76 (for 25.04 or later) -- liblttng-ust1 (for 22.x or later) - libssl1.0.0 (for 16.x) - libssl1.1 (for 18.x, 20.x) - libssl3 (for 22.x or later) - libstdc++6 +- tzdata - zlib1g [!INCLUDE [linux-ubuntu-deps-example](includes/linux-ubuntu-deps-example.md)] diff --git a/docs/core/install/linux-ubuntu-install.md b/docs/core/install/linux-ubuntu-install.md index 5278f4e413d93..6194e049231e7 100644 --- a/docs/core/install/linux-ubuntu-install.md +++ b/docs/core/install/linux-ubuntu-install.md @@ -3,8 +3,8 @@ title: Install .NET on Ubuntu description: Demonstrates the various ways to install .NET SDK and .NET Runtime on Ubuntu. .NET is usually installed through APT. author: adegeo ms.author: adegeo -ms.date: 12/13/2024 -ms.custom: linux-related-content +ms.date: 11/07/2025 +ms.custom: updateeachrelease, linux-related-content zone_pivot_groups: ubuntu-install-set-one --- @@ -12,28 +12,36 @@ zone_pivot_groups: ubuntu-install-set-one This article discusses how to install .NET on Ubuntu. +[!INCLUDE [linux-release-wait](includes/linux-release-wait.md)] + [!INCLUDE [linux-intro-sdk-vs-runtime](includes/linux-intro-sdk-vs-runtime.md)] [!INCLUDE [linux-install-package-manager-x64-vs-arm-ubuntu](includes/linux-install-package-manager-x64-vs-arm-ubuntu.md)] -::: zone pivot="os-linux-ubuntu-2504" +::: zone pivot="os-linux-ubuntu-2510" -## Ubuntu 25.04 +## Ubuntu 25.10 [!INCLUDE [linux-ubuntu-package-feed-only](includes/linux-ubuntu-package-feed-only.md)] -The following versions of .NET are supported or available for Ubuntu 25.04: +The following versions of .NET are supported or available for Ubuntu 25.10: | Supported .NET versions | Available in
built-in Ubuntu feed | [Available in
backports
Ubuntu feed](linux-ubuntu-decision.md#ubuntu-net-backports-package-repository) | [Available in
Microsoft feed](linux-ubuntu-decision.md#register-the-microsoft-package-repository) | |-------------------------|--------------------------------------|-----------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------| -| 9.0, 8.0 | 9.0, 8.0 | None |None | +| 10.0, 9.0, 8.0 | 9.0, 8.0 | None |None | When an [Ubuntu version](https://wiki.ubuntu.com/Releases) falls out of support, .NET is no longer supported with that version. +# [.NET 10](#tab/dotnet10) + +[!INCLUDE [linux-release-wait](includes/linux-release-wait.md)] + +[!INCLUDE [linux-apt-install-100](includes/linux-install-100-apt.md)] + # [.NET 9](#tab/dotnet9) [!INCLUDE [linux-apt-install-90](includes/linux-install-90-apt.md)] @@ -42,10 +50,6 @@ When an [Ubuntu version](https://wiki.ubuntu.com/Releases) falls out of support, [!INCLUDE [linux-apt-install-80](includes/linux-install-80-apt.md)] -# [.NET 6](#tab/dotnet6) - -Not available. - --- ## Dependencies @@ -55,10 +59,11 @@ When you install with a package manager, these libraries are installed for you. - ca-certificates - libc6 - libgcc-s1 +- libgssapi-krb5-2 - libicu76 -- liblttng-ust1 -- libssl3 +- libssl3t64 - libstdc++6 +- tzdata - zlib1g [!INCLUDE [linux-ubuntu-deps-example](includes/linux-ubuntu-deps-example.md)] @@ -66,26 +71,30 @@ When you install with a package manager, these libraries are installed for you. ::: zone-end -::: zone pivot="os-linux-ubuntu-2404" +::: zone pivot="os-linux-ubuntu-2504" -## Ubuntu 24.04 +## Ubuntu 25.04 [!INCLUDE [linux-ubuntu-package-feed-only](includes/linux-ubuntu-package-feed-only.md)] -The following versions of .NET are supported or available for Ubuntu 24.04: +The following versions of .NET are supported or available for Ubuntu 25.04: | Supported .NET versions | Available in
built-in Ubuntu feed | [Available in
backports
Ubuntu feed](linux-ubuntu-decision.md#ubuntu-net-backports-package-repository) | [Available in
Microsoft feed](linux-ubuntu-decision.md#register-the-microsoft-package-repository) | |-------------------------|--------------------------------------|-----------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------| -| 9.0, 8.0 | 8.0 | 9.0, 7.0, 6.0 |None | +| 10.0, 9.0, 8.0 | 9.0, 8.0 | None |None | When an [Ubuntu version](https://wiki.ubuntu.com/Releases) falls out of support, .NET is no longer supported with that version. -# [.NET 9](#tab/dotnet9) +# [.NET 10](#tab/dotnet10) -[!INCLUDE [linux-ubuntu-register-backports](includes/linux-ubuntu-register-backports.md)] +[!INCLUDE [linux-release-wait](includes/linux-release-wait.md)] + +[!INCLUDE [linux-apt-install-100](includes/linux-install-100-apt.md)] + +# [.NET 9](#tab/dotnet9) [!INCLUDE [linux-apt-install-90](includes/linux-install-90-apt.md)] @@ -93,15 +102,6 @@ When an [Ubuntu version](https://wiki.ubuntu.com/Releases) falls out of support, [!INCLUDE [linux-apt-install-80](includes/linux-install-80-apt.md)] -# [.NET 6](#tab/dotnet6) - -[!INCLUDE [linux-ubuntu-register-backports](includes/linux-ubuntu-register-backports.md)] - -> [!WARNING] -> .NET 6 is no longer supported. - -[!INCLUDE [linux-apt-install-60](includes/linux-install-60-apt.md)] - --- ## Dependencies @@ -111,10 +111,11 @@ When you install with a package manager, these libraries are installed for you. - ca-certificates - libc6 - libgcc-s1 -- libicu74 -- liblttng-ust1 -- libssl3 +- libgssapi-krb5-2 +- libicu76 +- libssl3t64 - libstdc++6 +- tzdata - zlib1g [!INCLUDE [linux-ubuntu-deps-example](includes/linux-ubuntu-deps-example.md)] @@ -122,25 +123,31 @@ When you install with a package manager, these libraries are installed for you. ::: zone-end -::: zone pivot="os-linux-ubuntu-2204" - -## Ubuntu 22.04 +::: zone pivot="os-linux-ubuntu-2404" -[!INCLUDE [linux-ubuntu-package-feed-both](includes/linux-ubuntu-package-feed-both.md)] +## Ubuntu 24.04 -The following versions of .NET are supported or available for Ubuntu 22.04: +[!INCLUDE [linux-ubuntu-package-feed-only](includes/linux-ubuntu-package-feed-only.md)] -| Supported .NET versions | Available in
built-in Ubuntu feed | [Available in
.NET backports
Ubuntu feed](linux-ubuntu-decision.md#ubuntu-net-backports-package-repository) | [Available in
Microsoft feed](linux-ubuntu-decision.md#register-the-microsoft-package-repository) | -|-------------------------|--------------------------------------|----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------| -| 9.0, 8.0 | 8.0, 7.0, 6.0 | 9.0 | 8.0, 7.0, 6.0, 3.1 | +The following versions of .NET are supported or available for Ubuntu 24.04: -[!INCLUDE [linux-ubuntu-feed-sdk-note](includes/linux-ubuntu-feed-sdk-note.md)] +| Supported .NET versions | Available in
built-in Ubuntu feed | [Available in
backports
Ubuntu feed](linux-ubuntu-decision.md#ubuntu-net-backports-package-repository) | [Available in
Microsoft feed](linux-ubuntu-decision.md#register-the-microsoft-package-repository) | +|-------------------------|--------------------------------------|-----------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------| +| 10.0, 9.0, 8.0 | 8.0 | 9.0, 7.0, 6.0 |None | When an [Ubuntu version](https://wiki.ubuntu.com/Releases) falls out of support, .NET is no longer supported with that version. +# [.NET 10](#tab/dotnet10) + +[!INCLUDE [linux-release-wait](includes/linux-release-wait.md)] + +[!INCLUDE [linux-ubuntu-register-backports](includes/linux-ubuntu-register-backports.md)] + +[!INCLUDE [linux-apt-install-100](includes/linux-install-100-apt.md)] + # [.NET 9](#tab/dotnet9) [!INCLUDE [linux-ubuntu-register-backports](includes/linux-ubuntu-register-backports.md)] @@ -151,13 +158,6 @@ When an [Ubuntu version](https://wiki.ubuntu.com/Releases) falls out of support, [!INCLUDE [linux-apt-install-80](includes/linux-install-80-apt.md)] -# [.NET 6](#tab/dotnet6) - -> [!WARNING] -> .NET 6 is no longer supported. - -[!INCLUDE [linux-apt-install-60](includes/linux-install-60-apt.md)] - --- ## Dependencies @@ -168,10 +168,10 @@ When you install with a package manager, these libraries are installed for you. - libc6 - libgcc-s1 - libgssapi-krb5-2 -- libicu70 -- liblttng-ust1 -- libssl3 +- libicu74 +- libssl3t64 - libstdc++6 +- tzdata - zlib1g [!INCLUDE [linux-ubuntu-deps-example](includes/linux-ubuntu-deps-example.md)] @@ -179,118 +179,46 @@ When you install with a package manager, these libraries are installed for you. ::: zone-end - -::: zone pivot="os-linux-ubuntu-2504,os-linux-ubuntu-2404,os-linux-ubuntu-2204" - -## Unsupported versions - -[!INCLUDE [versions-not-supported](includes/versions-not-supported.md)] - -## How to install other versions - -.NET package names are standardized across all Linux distributions. The following table lists the packages: - -[!INCLUDE [package-manager-switcher](./includes/package-manager-heading-hack-pkgname.md)] - -::: zone-end - - - -::: zone pivot="os-linux-ubuntu-other" - -## Manual install - -If your Ubuntu version isn't supported and the version of .NET you want to use wasn't available in a package repository, you most likely need to install .NET by manually extracting the binaries, by using the install script, or with Snap. For more information, see [Install .NET on Linux without using a package manager](linux-scripted-manual.md) and [Install .NET Runtime with Snap](linux-snap-runtime.md). - - -## Ubuntu 23.10 +::: zone pivot="os-linux-ubuntu-2204" -[!INCLUDE [linux-ubuntu-not-supported](includes/linux-ubuntu-not-supported.md)] +## Ubuntu 22.04 [!INCLUDE [linux-ubuntu-package-feed-both](includes/linux-ubuntu-package-feed-both.md)] -The following versions of .NET were supported or available for Ubuntu 23.10: +The following versions of .NET are supported or available for Ubuntu 22.04: | Supported .NET versions | Available in
built-in Ubuntu feed | [Available in
.NET backports
Ubuntu feed](linux-ubuntu-decision.md#ubuntu-net-backports-package-repository) | [Available in
Microsoft feed](linux-ubuntu-decision.md#register-the-microsoft-package-repository) | |-------------------------|--------------------------------------|----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------| -| 8.0, 6.0 | 8.0, 7.0, 6.0 | None | 8.0, 7.0, 6.0 | +| 10.0, 9.0, 8.0 | 8.0, 7.0, 6.0 | 9.0 | 8.0, 7.0, 6.0, 3.1 | [!INCLUDE [linux-ubuntu-feed-sdk-note](includes/linux-ubuntu-feed-sdk-note.md)] When an [Ubuntu version](https://wiki.ubuntu.com/Releases) falls out of support, .NET is no longer supported with that version. -# [.NET 9](#tab/dotnet9) +# [.NET 10](#tab/dotnet10) -.NET 9 isn't supported on Ubuntu 23.10. +[!INCLUDE [linux-release-wait](includes/linux-release-wait.md)] -# [.NET 8](#tab/dotnet8) - -[!INCLUDE [linux-apt-install-80](includes/linux-install-80-apt.md)] - -# [.NET 6](#tab/dotnet6) - -[!INCLUDE [linux-apt-install-60](includes/linux-install-60-apt.md)] - ---- - -### Dependencies - -When you install with a package manager, these libraries are installed for you. But, if you manually install .NET or you publish a self-contained app, you'll need to make sure these libraries are installed: - -- ca-certificates -- libc6 -- libgcc-s1 -- libgssapi-krb5-2 -- libicu72 -- liblttng-ust1 -- libssl3 -- libstdc++6 -- zlib1g - -[!INCLUDE [linux-ubuntu-deps-example](includes/linux-ubuntu-deps-example.md)] - - - -## Ubuntu 23.04 - -[!INCLUDE [linux-ubuntu-not-supported](includes/linux-ubuntu-not-supported.md)] - -[!INCLUDE [linux-ubuntu-package-feed-both](includes/linux-ubuntu-package-feed-both.md)] +[!INCLUDE [linux-ubuntu-register-backports](includes/linux-ubuntu-register-backports.md)] -The following versions of .NET were supported or available for Ubuntu 23.04: - -| Supported .NET versions | Available in
built-in Ubuntu feed | [Available in
.NET backports
Ubuntu feed](linux-ubuntu-decision.md#ubuntu-net-backports-package-repository) | [Available in
Microsoft feed](linux-ubuntu-decision.md#register-the-microsoft-package-repository) | -|-------------------------|--------------------------------------|----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------| -| 8.0, 6.0 | 7.0, 6.0 | None | 8.0, 7.0, 6.0 | - -[!INCLUDE [linux-ubuntu-feed-sdk-note](includes/linux-ubuntu-feed-sdk-note.md)] +[!INCLUDE [linux-apt-install-100](includes/linux-install-100-apt.md)] # [.NET 9](#tab/dotnet9) -.NET 9 isn't supported on Ubuntu 23.04. +[!INCLUDE [linux-ubuntu-register-backports](includes/linux-ubuntu-register-backports.md)] -# [.NET 8](#tab/dotnet8) +[!INCLUDE [linux-apt-install-90](includes/linux-install-90-apt.md)] -[!INCLUDE [linux-ubuntu-80-ms](includes/linux-ubuntu-80-ms.md)] +# [.NET 8](#tab/dotnet8) [!INCLUDE [linux-apt-install-80](includes/linux-install-80-apt.md)] -# [.NET 6](#tab/dotnet6) - -[!INCLUDE [linux-apt-install-60](includes/linux-install-60-apt.md)] - --- -### Dependencies +## Dependencies When you install with a package manager, these libraries are installed for you. But, if you manually install .NET or you publish a self-contained app, you'll need to make sure these libraries are installed: @@ -298,119 +226,31 @@ When you install with a package manager, these libraries are installed for you. - libc6 - libgcc-s1 - libgssapi-krb5-2 -- libicu72 -- liblttng-ust1 +- libicu70 - libssl3 - libstdc++6 +- tzdata - zlib1g [!INCLUDE [linux-ubuntu-deps-example](includes/linux-ubuntu-deps-example.md)] - - -## Ubuntu 22.10 - -[!INCLUDE [linux-ubuntu-not-supported](includes/linux-ubuntu-not-supported.md)] - -[!INCLUDE [linux-ubuntu-package-feed-both](includes/linux-ubuntu-package-feed-both.md)] - -The following versions of .NET are supported or available for Ubuntu 22.10: - -| Supported .NET versions | Available in
built-in Ubuntu feed | [Available in
.NET backports
Ubuntu feed](linux-ubuntu-decision.md#ubuntu-net-backports-package-repository) | [Available in
Microsoft feed](linux-ubuntu-decision.md#register-the-microsoft-package-repository) | -|-------------------------|--------------------------------------|----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------| -| 6.0 | 7.0, 6.0 | None | 7.0, 6.0, 3.1 | - -[!INCLUDE [linux-ubuntu-feed-sdk-note](includes/linux-ubuntu-feed-sdk-note.md)] - -# [.NET 9](#tab/dotnet9) - -.NET 9 isn't supported on Ubuntu 22.10. - -# [.NET 8](#tab/dotnet8) - -.NET 8 isn't supported on Ubuntu 22.10. - -# [.NET 6](#tab/dotnet6) - -[!INCLUDE [linux-apt-install-60](includes/linux-install-60-apt.md)] - ---- - -### Dependencies - -When you install with a package manager, these libraries are installed for you. But, if you manually install .NET or you publish a self-contained app, you'll need to make sure these libraries are installed: - -- ca-certificates -- libc6 -- libgcc-s1 -- libgssapi-krb5-2 -- libicu71 -- liblttng-ust1 -- libssl3 -- libstdc++6 -- zlib1g - -[!INCLUDE [linux-ubuntu-deps-example](includes/linux-ubuntu-deps-example.md)] +::: zone-end -## Ubuntu 20.04 - -[!INCLUDE [linux-ubuntu-package-feed-ms](includes/linux-ubuntu-package-feed-ms.md)] - -The following versions of .NET are supported or available for Ubuntu 20.04: - -| Supported .NET versions | Available in
built-in Ubuntu feed | [Available in
.NET backports
Ubuntu feed](linux-ubuntu-decision.md#ubuntu-net-backports-package-repository) | [Available in
Microsoft feed](linux-ubuntu-decision.md#register-the-microsoft-package-repository) | -|-------------------------|--------------------------------------|----------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------| -| 8.0 | None | None | 8.0, 7.0. 6.0, 5.0, 3.1, 2.1 | - -When an [Ubuntu version](https://wiki.ubuntu.com/Releases) falls out of support, .NET is no longer supported with that version. - -### Add the Microsoft package repository - -[!INCLUDE [linux-prep-intro-apt](includes/linux-prep-intro-apt.md)] - -```bash -wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb -sudo dpkg -i packages-microsoft-prod.deb -rm packages-microsoft-prod.deb -``` - -# [.NET 9](#tab/dotnet9) - -Because Ubuntu 20.04 reached end of life in April 2025, Microsoft doesn't support .NET 9 on Ubuntu 20.04. - -# [.NET 8](#tab/dotnet8) - -[!INCLUDE [linux-apt-install-80](includes/linux-install-80-apt.md)] - -# [.NET 6](#tab/dotnet6) - -> [!WARNING] -> .NET 6 is no longer supported. - -[!INCLUDE [linux-apt-install-60](includes/linux-install-60-apt.md)] +::: zone pivot="os-linux-ubuntu-2504,os-linux-ubuntu-2404,os-linux-ubuntu-2204" ---- +## Unsupported versions -### Dependencies +[!INCLUDE [versions-not-supported](includes/versions-not-supported.md)] -When you install with a package manager, these libraries are installed for you. But, if you manually install .NET or you publish a self-contained app, you'll need to make sure these libraries are installed: +## How to install other versions -- ca-certificates -- libc6 -- libgcc-s1 -- libgssapi-krb5-2 -- libicu66 -- libssl1.1 -- libstdc++6 -- zlib1g +.NET package names are standardized across all Linux distributions. The following table lists the packages: -[!INCLUDE [linux-ubuntu-deps-example](includes/linux-ubuntu-deps-example.md)] +[!INCLUDE [package-manager-switcher](./includes/package-manager-heading-hack-pkgname.md)] ::: zone-end diff --git a/docs/core/install/linux.md b/docs/core/install/linux.md index 9bb70eafd3336..b25f0a3f81463 100644 --- a/docs/core/install/linux.md +++ b/docs/core/install/linux.md @@ -4,7 +4,7 @@ description: Learn about how .NET is available on Linux. .NET can be installed t author: adegeo ms.author: adegeo ms.custom: updateeachrelease, linux-related-content -ms.date: 11/04/2024 +ms.date: 11/08/2025 --- # Install .NET on Linux @@ -26,7 +26,7 @@ Packages are available for the following Linux distributions: - [openSUSE Leap](linux-opensuse.md) - [SUSE Enterprise Linux](linux-sles.md) -Packages are published in the Microsoft package repository at . Distributions are selected per the policy defined at [dotnet/core #9556](https://github.com/dotnet/core/discussions/9556). +Packages are published in the Microsoft package repository at . Distributions are selected per the policy defined at [dotnet/core \#9556](https://github.com/dotnet/core/discussions/9556). The following Linux distributions publish their own .NET packages: diff --git a/docs/core/install/macos.md b/docs/core/install/macos.md index d317f4e5af168..fa369d06c79fa 100644 --- a/docs/core/install/macos.md +++ b/docs/core/install/macos.md @@ -4,8 +4,8 @@ description: Learn about which versions of .NET SDK and .NET Runtime are support author: adegeo ms.author: adegeo ms.topic: install-set-up-deploy -ms.date: 11/11/2024 -ms.custom: linux-related-content +ms.date: 11/08/2025 +ms.custom: updateeachrelease, linux-related-content #customer intent: As a user or developer, I want to know which versions of .NET are supported on macOS. I also need to know how to install .NET on macOS. @@ -21,7 +21,7 @@ ms.custom: linux-related-content This article teaches you about which versions of .NET are supported on macOS, how to install .NET, and what the difference is between the SDK and runtime. -The latest version of .NET is 9. +The latest version of .NET is 10. > [!div class="button"] > [Download .NET](https://dotnet.microsoft.com/download/dotnet) @@ -30,11 +30,11 @@ The latest version of .NET is 9. The following table lists the supported .NET releases, and which macOS they're supported on. These versions remain supported until either the version of [.NET reaches end-of-support](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) or the version of macOS is no longer supported. -| macOS Version | .NET | -|------------------------|----------| -| macOS 15 "Sequoia" | 9.0, 8.0 | -| macOS 14 "Sonoma" | 9.0, 8.0 | -| macOS 13 "Ventura" | 9.0, 8.0 | +| macOS Version | .NET | +|------------------------|----------------| +| macOS 26 "Tahoe" | 10.0, 9.0, 8.0 | +| macOS 15 "Sequoia" | 10.0, 9.0, 8.0 | +| macOS 14 "Sonoma" | 9.0, 8.0 | [!INCLUDE [versions-not-supported](includes/versions-not-supported.md)] @@ -85,7 +85,7 @@ If you're unsure which method you should choose after reviewing the lists in the Installer packages are available for macOS, an easy way of installing .NET. 01. Open a browser and navigate to . -01. Select the link to the .NET version you want to install, such as **.NET 8.0**. +01. Select the link to the .NET version you want to install, such as **.NET 10.0**. :::image type="content" source="media/macos/download-page.png" alt-text="The .NET download website. Versions 6.0 through 9.0 are listed. A red box highlights those download links."::: @@ -243,11 +243,11 @@ For more information about how enforced-notarization affects .NET (and your .NET [!INCLUDE [verify-download-intro](includes/verify-download-intro.md)] -Use the `shasum -a 512` command to print the checksum of the file you've downloaded. For example, the following command reports the checksum of the _dotnet-sdk-8.0.100-osx-x64.tar.gz_ file: +Use the `shasum -a 512` command to print the checksum of the file you've downloaded. For example, the following command reports the checksum of the _dotnet-sdk-9.0.306-osx-x64.tar.gz_ file: ```bash -$ shasum -a 512 dotnet-sdk-8.0.100-osx-x64.tar.gz -13905ea20191e70baeba50b0e9bbe5f752a7c34587878ee104744f9fb453bfe439994d38969722bdae7f60ee047d75dda8636f3ab62659450e9cd4024f38b2a5 dotnet-sdk-8.0.100-osx-x64.tar.gz +$ shasum -a 512 dotnet-sdk-9.0.306-osx-x64.tar.gz +a9700f98e5aa4f70b2a08ddba2b1c6085106b0d17828bd719fdcef460b06c890b32d752fbff8e4659cd1ca4174b4b211b301fe682439ea9a24b6521ca5a64c69 dotnet-sdk-9.0.306-osx-x64.tar.gz ``` Compare the checksum with the value provided by the download site. @@ -256,15 +256,15 @@ Compare the checksum with the value provided by the download site. The .NET release notes contain a link to a checksum file you can use to validate your downloaded file. The following steps describe how to download the checksum file and validate a .NET install binary: -01. The release notes page for .NET 8 on GitHub at contains a section named **Releases**. The table in that section links to the downloads and checksum files for each .NET 8 release: +01. The release notes page for .NET 9 on GitHub at contains a section named **Releases**. The table in that section links to the downloads and checksum files for each .NET 9 release. The following image shows the .NET 8 release table as a reference: :::image type="content" source="media/install-sdk/release-notes-root.png" alt-text="The github release notes version table for .NET"::: 01. Select the link for the version of .NET that you downloaded. - The previous section used .NET SDK 8.0.100, which is in the .NET 8.0.0 release. + The previous section used .NET SDK 9.0.306, which is in the .NET 9.0.10 release. -01. In the release page, you can see the .NET Runtime and .NET SDK version, and a link to the checksum file: +01. In the release page, you can see the .NET Runtime and .NET SDK version, and a link to the checksum file. The following image shows the .NET 8 release table as a reference: :::image type="content" source="media/install-sdk/release-notes-version.png" alt-text="The download table with checksums for .NET"::: @@ -277,7 +277,7 @@ The .NET release notes contain a link to a checksum file you can use to validate Replace the link in the following command with the link you copied. ```bash - curl -O https://builds.dotnet.microsoft.com/dotnet/checksums/8.0.0-sha.txt + curl -O https://builds.dotnet.microsoft.com/dotnet/checksums/9.0.10-sha.txt ``` 01. With both the checksum file and the .NET release file downloaded to the same directory, use the `shasum -a 512 -c {file}` command to validate the downloaded file. @@ -285,15 +285,15 @@ The .NET release notes contain a link to a checksum file you can use to validate When validation passes, you see the file printed with the **OK** status: ```bash - $ shasum -a 512 -c 8.0.0-sha.txt - dotnet-sdk-8.0.100-osx-x64.tar.gz: OK + $ shasum -a 512 -c 9.0.10-sha.txt + dotnet-sdk-9.0.306-osx-x64.tar.gz: OK ``` If you see the file marked as **FAILED**, the file you downloaded isn't valid and shouldn't be used. ```bash - $ shasum -a 512 -c 8.0.0-sha.txt - dotnet-sdk-8.0.100-osx-x64.tar.gz: FAILED + $ shasum -a 512 -c 9.0.10-sha.txt + dotnet-sdk-9.0.306-osx-x64.tar.gz: FAILED shasum: WARNING: 1 computed checksum did NOT match ``` diff --git a/docs/core/install/remove-runtime-sdk-versions.md b/docs/core/install/remove-runtime-sdk-versions.md index d4d63369b85e0..5e8471e763803 100644 --- a/docs/core/install/remove-runtime-sdk-versions.md +++ b/docs/core/install/remove-runtime-sdk-versions.md @@ -3,7 +3,7 @@ title: Remove the .NET runtime and SDK description: This article describes how to uninstall .NET on Windows, macOS, and Linux. Uninstall .NET manually, through a package manager, or with the .NET Uninstall Tool. author: adegeo ms.author: adegeo -ms.date: 11/11/2024 +ms.date: 11/08/2025 ms.custom: linux-related-content zone_pivot_groups: operating-systems-set-one --- diff --git a/docs/core/install/templates.md b/docs/core/install/templates.md index 760a308410ee5..da8a5a3113748 100644 --- a/docs/core/install/templates.md +++ b/docs/core/install/templates.md @@ -3,7 +3,7 @@ title: Install and manage SDK templates description: Learn how to install .NET templates on Windows, Linux, and macOS. Templates are installed from NuGet, a NuGet package file, or a file system directory. author: adegeo ms.author: adegeo -ms.date: 05/14/2024 +ms.date: 11/08/2025 ms.custom: linux-related-content zone_pivot_groups: operating-systems-set-one no-loc: ['dotnet new', 'dotnet nuget add source'] @@ -186,6 +186,7 @@ The .NET templates are available on NuGet, and you can install them like any oth | .NET 7.0 | [`Microsoft.DotNet.Common.ProjectTemplates.7.0`](https://www.nuget.org/packages/Microsoft.DotNet.Common.ProjectTemplates.7.0) | | .NET 8.0 | [`Microsoft.DotNet.Common.ProjectTemplates.8.0`](https://www.nuget.org/packages/Microsoft.DotNet.Common.ProjectTemplates.8.0) | | .NET 9.0 | [`Microsoft.DotNet.Common.ProjectTemplates.9.0`](https://www.nuget.org/packages/Microsoft.DotNet.Common.ProjectTemplates.9.0) | +| .NET 10.0 | [`Microsoft.DotNet.Common.ProjectTemplates.10.0`](https://www.nuget.org/packages/Microsoft.DotNet.Common.ProjectTemplates.10.0) | | ASP.NET Core 2.1 | [`Microsoft.DotNet.Web.ProjectTemplates.2.1`](https://www.nuget.org/packages/Microsoft.DotNet.Web.ProjectTemplates.2.1) | | ASP.NET Core 2.2 | [`Microsoft.DotNet.Web.ProjectTemplates.2.2`](https://www.nuget.org/packages/Microsoft.DotNet.Web.ProjectTemplates.2.2) | | ASP.NET Core 3.0 | [`Microsoft.DotNet.Web.ProjectTemplates.3.0`](https://www.nuget.org/packages/Microsoft.DotNet.Web.ProjectTemplates.3.0) | @@ -195,6 +196,7 @@ The .NET templates are available on NuGet, and you can install them like any oth | ASP.NET Core 7.0 | [`Microsoft.DotNet.Web.ProjectTemplates.7.0`](https://www.nuget.org/packages/Microsoft.DotNet.Web.ProjectTemplates.7.0) | | ASP.NET Core 8.0 | [`Microsoft.DotNet.Web.ProjectTemplates.8.0`](https://www.nuget.org/packages/Microsoft.DotNet.Web.ProjectTemplates.8.0) | | ASP.NET Core 9.0 | [`Microsoft.DotNet.Web.ProjectTemplates.8.0`](https://www.nuget.org/packages/Microsoft.DotNet.Web.ProjectTemplates.9.0) | +| ASP.NET Core 10.0 | [`Microsoft.DotNet.Web.ProjectTemplates.10.0`](https://www.nuget.org/packages/Microsoft.DotNet.Web.ProjectTemplates.10.0) | For example, the .NET 9 SDK includes templates for a console app targeting .NET 9. If you wanted to target .NET Core 3.1, you would need to install the 3.1 template package. @@ -204,7 +206,7 @@ For example, the .NET 9 SDK includes templates for a console app targeting .NET dotnet new console --framework netcoreapp3.1 ``` - If you see an error message, you need to install the templates. + If you see an error message, install the templates in the next step. 01. Install the .NET Core 3.1 project templates. diff --git a/docs/core/install/windows.md b/docs/core/install/windows.md index 05891bcc558ff..197bbbc97469b 100644 --- a/docs/core/install/windows.md +++ b/docs/core/install/windows.md @@ -4,8 +4,9 @@ description: "Learn about which versions of .NET SDK and .NET Runtime are suppor author: adegeo ms.author: adegeo ms.topic: install-set-up-deploy #Don't change -ms.date: 11/11/2024 +ms.date: 11/08/2025 no-loc: ["Program Files", "dotnet"] +ms.custom: linux-related-content ai-usage: ai-assisted #customer intent: As a developer or user, I want to decide the best way to install .NET on Windows. --- @@ -82,14 +83,14 @@ The following table is a list of currently supported .NET releases and the versi Windows 10 versions end-of-service dates are segmented by edition. Only **Home**, **Pro**, **Pro Education**, and **Pro for Workstations** editions are considered in the following table. Check the [Windows lifecycle fact sheet](https://support.microsoft.com/help/13853/windows-lifecycle-fact-sheet) for specific details. | Operating System | .NET 10 (Architectures) | .NET 9 (Architectures) | .NET 8 (Architectures) | -|---------------------------------------|--------------------------|------------------------|------------------------| -| Windows 11
(25H2, 24H2, 23H2, 22H2 Ent/Edu) | ✔️ x64, x86, Arm64 | ✔️ x64, x86, Arm64 | ✔️ x64, x86, Arm64 | -| Windows 10 (22H2+) | ✔️ x64, x86, Arm64 | ✔️ x64, x86, Arm64 | ✔️ x64, x86, Arm64 | -| Windows Server 2025
Windows Server 2022
Windows Server 2019
Windows Server, Version 1903 or later
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012 | ✔️ x64, x86 | ✔️ x64, x86 | ✔️ x64, x86 | -| Windows Server Core 2012 (and R2) | ✔️ x64, x86 | ✔️ x64, x86 | ✔️ x64, x86 | -| Nano Server (2022, 2019) | ✔️ x64 | ✔️ x64 | ✔️ x64 | -| Windows 8.1 | ❌ | ❌ | ❌ | -| Windows 7 SP1 [ESU][esu] | ❌ | ❌ | ❌ | +|---------------------------------------|-------------------------|------------------------|------------------------| +| Windows 11 (24H2, 23H2, 22H2 Ent/Edu) | ✔️ x64, Arm64 | ✔️ x64, Arm64 | ✔️ x64, Arm64 | +| Windows 10 (22H2) | ✔️ x64, Arm64 | ✔️ x64, Arm64 | ✔️ x64, Arm64 | +| Windows Server 2025
Windows Server 2022
Windows Server 2019
Windows Server, Version 1903 or later
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012 | ✔️ x64, x86 | ✔️ x64, x86 | ✔️ x64, x86 | +| Windows Server Core 2012 (and R2) | ✔️ x64, x86 | ✔️ x64, x86 | ✔️ x64, x86 | +| Nano Server (2025, 2022, 2019) | ✔️ x64 | ✔️ x64 | ✔️ x64 | +| Windows 8.1 | ❌ | ❌ | ❌ | +| Windows 7 SP1 [ESU][esu] | ❌ | ❌ | ❌ | > [!TIP] > A `+` symbol represents the minimum version. @@ -134,7 +135,7 @@ Environment variables that add .NET to system path, such as the `PATH` variable, Visual Studio installs its own copy of .NET separate from other copies of .NET. Different versions of Visual Studio support different versions of .NET. The latest version of Visual Studio always supports the latest version of .NET. > [!div class="button"] -> [Download Visual Studio Installer](https://www.visualstudio.com/downloads/?utm_medium=microsoft&utm_source=learn.microsoft.com&utm_campaign=button+cta&utm_content=download+vs2022) +> [Download Visual Studio Installer](https://www.visualstudio.com/downloads/?utm_medium=microsoft&utm_source=learn.microsoft.com&utm_campaign=button+cta&utm_content=download+vs2026) Visual Studio Installer installs and configures Visual Studio. Some Visual Studio workloads include .NET, such as **ASP.NET and web development** and **.NET Multi-platform App UI development**. Specific versions of .NET can be installed through the **Individual Components** tab. @@ -195,7 +196,7 @@ The [download page](https://dotnet.microsoft.com/download/dotnet) for .NET provi > If you're installing .NET system-wide, install with administrative privileges. 1. Open a web browser and navigate to . -1. Select the version of .NET you want to download, such as 9.0. +1. Select the version of .NET you want to download, such as 10.0. 1. Find the SDK or Runtime box that contains the links for downloading .NET. 1. Under the **Installers** column, find the **Windows** row and select the link for your CPU architecture. If you're unsure, select **x64** as it's the most common. @@ -255,11 +256,12 @@ Check if the installations key files or components are damaged and restore them. The installer executables always install new content before removing the previous installation. Applications that are running might be interrupted or crash when older runtimes are removed. To minimize the impact of updating .NET, you can specify when a previous .NET installation should be removed using a registry key. -| .NET version | Registry key | Name | Type | Value | -|--------------|:----------------------------------|:----------------------|:-------|:------------------------------------| -| All | HKLM\SOFTWARE\Microsoft\\.NET | RemovePreviousVersion | REG_SZ | `always`, `never`, or `nextSession` | -| .NET 9 | HKLM\SOFTWARE\Microsoft\\.NET\9.0 | RemovePreviousVersion | REG_SZ | `always`, `never`, or `nextSession` | -| .NET 8 | HKLM\SOFTWARE\Microsoft\\.NET\8.0 | RemovePreviousVersion | REG_SZ | `always`, `never`, or `nextSession` | +| .NET version | Registry key | Name | Type | Value | +| -------------- | :--------- | :---------- | :---------- | :---------- | +| All | HKLM\SOFTWARE\Microsoft\\.NET | RemovePreviousVersion | REG_SZ | `always`, `never`, or `nextSession` | +| .NET 10 | HKLM\SOFTWARE\Microsoft\\.NET\10.0 | RemovePreviousVersion | REG_SZ | `always`, `never`, or `nextSession` | +| .NET 9 | HKLM\SOFTWARE\Microsoft\\.NET\9.0 | RemovePreviousVersion | REG_SZ | `always`, `never`, or `nextSession` | +| .NET 8 | HKLM\SOFTWARE\Microsoft\\.NET\8.0 | RemovePreviousVersion | REG_SZ | `always`, `never`, or `nextSession` | - `never` retains previous installations and requires manual intervention to remove previous .NET installations. - `always` removes previous installations after the new version is installed. This is the default behavior in .NET. @@ -269,7 +271,7 @@ The installer executables always install new content before removing the previou When the removal is deferred, the installer writes a command to the [RunOnce](/windows/win32/setupapi/run-and-runonce-registry-keys) registry key to uninstall the previous version. The command only executes if a user in the Administrators group logs on to the machine. > [!NOTE] -> This feature is only available in .NET 8 (8.0.11), 9, and later versions of .NET. It only applies to the standalone installer executables and impacts distributions like WinGet that use them. +> This feature is only available starting with .NET 8 (8.0.11). It only applies to the standalone installer executables and impacts distributions like WinGet that use them. ## Install with Windows Package Manager (WinGet) @@ -280,6 +282,10 @@ You can install and manage .NET through the Windows Package Manager service, usi The .NET WinGet packages are: +- `Microsoft.DotNet.Runtime.10`—.NET Runtime 10.0 +- `Microsoft.DotNet.AspNetCore.10`—ASP.NET Core Runtime 10.0 +- `Microsoft.DotNet.DesktopRuntime.10`—.NET Desktop Runtime 10.0 +- `Microsoft.DotNet.SDK.10`—.NET SDK 10.0 - `Microsoft.DotNet.Runtime.9`—.NET Runtime 9.0 - `Microsoft.DotNet.AspNetCore.9`—ASP.NET Core Runtime 9.0 - `Microsoft.DotNet.DesktopRuntime.9`—.NET Desktop Runtime 9.0 @@ -298,7 +304,7 @@ If you install the SDK, you don't need to install the corresponding runtime. 01. Run the `winget install` command and pass the name of the SDK package: ```cmd - winget install Microsoft.DotNet.SDK.9 + winget install Microsoft.DotNet.SDK.10 ``` To learn how to use the .NET CLI, see [.NET CLI overview](../tools/index.md). @@ -312,8 +318,8 @@ There are different runtimes you can install. Refer to the [Choose the correct r 01. Run the `winget install` command and pass the name of the SDK package: ```cmd - winget install Microsoft.DotNet.DesktopRuntime.9 - winget install Microsoft.DotNet.AspNetCore.9 + winget install Microsoft.DotNet.DesktopRuntime.10 + winget install Microsoft.DotNet.AspNetCore.10 ``` To learn how to use the .NET CLI, see [.NET CLI overview](../tools/index.md). @@ -329,14 +335,15 @@ winget search Microsoft.DotNet.SDK The search results are printed in a table with each package identifier. ```output -Name Id Version Source ----------------------------------------------------------------------------------------------- -Microsoft .NET SDK 9.0 Microsoft.DotNet.SDK.9 9.0.100 winget -Microsoft .NET SDK 8.0 Microsoft.DotNet.SDK.8 8.0.300 winget -Microsoft .NET SDK 7.0 Microsoft.DotNet.SDK.7 7.0.409 winget -Microsoft .NET SDK 6.0 Microsoft.DotNet.SDK.6 6.0.422 winget -Microsoft .NET SDK 5.0 Microsoft.DotNet.SDK.5 5.0.408 winget -Microsoft .NET SDK 3.1 Microsoft.DotNet.SDK.3_1 3.1.426 winget +Name Id Version Source +-------------------------------------------------------------------------------------------- +Microsoft .NET SDK 3.1 Microsoft.DotNet.SDK.3_1 3.1.426 winget +Microsoft .NET SDK 5.0 Microsoft.DotNet.SDK.5 5.0.408 winget +Microsoft .NET SDK 6.0 Microsoft.DotNet.SDK.6 6.0.428 winget +Microsoft .NET SDK 7.0 Microsoft.DotNet.SDK.7 7.0.410 winget +Microsoft .NET SDK 8.0 Microsoft.DotNet.SDK.8 8.0.415 winget +Microsoft .NET SDK 9.0 Microsoft.DotNet.SDK.9 9.0.306 winget +Microsoft .NET SDK 10.0 Microsoft.DotNet.SDK.10 10.0.100 winget ``` ### Install preview versions @@ -351,7 +358,7 @@ winget install Microsoft.DotNet.DesktopRuntime.Preview Installing .NET through the `dotnet-install` PowerShell script is recommended for continuous integration and nonadmin installs. If you're installing .NET for normal use on your system, use either the [.NET Installer](#net-installer) or [Windows Package Manager](#install-with-windows-package-manager-winget) installation methods. -The script defaults to installing the latest [long term support (LTS)](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) version, which is .NET 8. You can choose a specific release by specifying the `-Channel` switch. Include the `-Runtime` switch to install a runtime. Otherwise, the script installs the SDK. The script is available at and the source code is hosted on [GitHub](https://github.com/dotnet/install-scripts). +The script defaults to installing the latest [long term support (LTS)](https://dotnet.microsoft.com/platform/support/policy/dotnet-core) version, which is .NET 10. You can choose a specific release by specifying the `-Channel` switch. Include the `-Runtime` switch to install a runtime. Otherwise, the script installs the SDK. The script is available at and the source code is hosted on [GitHub](https://github.com/dotnet/install-scripts). > [!div class="button"] > [Download the script](https://dot.net/v1/dotnet-install.ps1) @@ -394,7 +401,57 @@ To learn how to use the .NET CLI, see [.NET CLI overview](../tools/index.md). [!INCLUDE [verify-download-intro](includes/verify-download-intro.md)] -[!INCLUDE [verify-download-windows](includes/verify-download-windows.md)] +You can use **PowerShell** or **Command Prompt** to validate the checksum of the file you've downloaded. For example, the following command reports the checksum of the _dotnet-sdk-9.0.306-win-x64.exe_ file: + +```cmd +> certutil -hashfile dotnet-sdk-9.0.306-win-x64.exe SHA512 +SHA512 hash of dotnet-sdk-9.0.306-win-x64.exe: +f048ddf80c0aa88e713070e66a0009435ad9a5f444adbde6edf2b17f8da562d494a5c37cbabaf63ee3125fe1d2da735a397de9a38dd6ca638b8dc085adc01d4f +CertUtil: -hashfile command completed successfully. +``` + +```powershell +> (Get-FileHash .\dotnet-sdk-9.0.306-win-x64.exe -Algorithm SHA512).Hash +f048ddf80c0aa88e713070e66a0009435ad9a5f444adbde6edf2b17f8da562d494a5c37cbabaf63ee3125fe1d2da735a397de9a38dd6ca638b8dc085adc01d4f +``` + +Compare the checksum with the value provided by the download site. + +### Use PowerShell and a checksum file to validate + +The .NET release notes contain a link to a checksum file you can use to validate your downloaded file. The following steps describe how to download the checksum file and validate a .NET install binary: + +01. The release notes page for .NET 9 on GitHub at contains a section named **Releases**. The table in that section links to the downloads and checksum files for each .NET 9 release. The following image shows the .NET 8 release table as a reference: + + :::image type="content" source="media/install-sdk/release-notes-root.png" alt-text="The github release notes version table for .NET"::: + +01. Select the link for the version of .NET that you downloaded. The previous section used .NET SDK 9.0.306, which is in the .NET 9.0.10 release. + + > [!TIP] + > If you're not sure which .NET release contains your checksum file, explore the links until you find it. + +01. In the release page, you can see the .NET Runtime and .NET SDK version, and a link to the checksum file. The following image shows the .NET 8 release table as a reference: + + :::image type="content" source="media/install-sdk/release-notes-version.png" alt-text="The download table with checksums for .NET"::: + +01. Copy the link to the checksum file. + +01. Use the following script, but replace the link to download the appropriate checksum file: + + ```powershell + Invoke-WebRequest https://builds.dotnet.microsoft.com/dotnet/checksums/9.0.10-sha.txt -OutFile 9.0.10-sha.txt + ``` + +01. With both the checksum file and the .NET release file downloaded to the same directory, search the checksum file for the checksum of the .NET download: + + When validation passes, you see **True** printed: + + ```powershell + > (Get-Content .\9.0.10-sha.txt | Select-String "dotnet-sdk-9.0.306-win-x64.exe").Line -like (Get-FileHash .\dotnet-sdk-9.0.306-win-x64.exe -Algorithm SHA512).Hash + "*" + True + ``` + + If you see **False** printed, the file you downloaded isn't valid and shouldn't be used. ## Troubleshooting diff --git a/docs/zone-pivot-groups.yml b/docs/zone-pivot-groups.yml index f021fbcd88cc7..261cbf00b5063 100644 --- a/docs/zone-pivot-groups.yml +++ b/docs/zone-pivot-groups.yml @@ -130,10 +130,10 @@ groups: title: "24.04" - id: os-linux-ubuntu-2204 title: "22.04" + - id: os-linux-ubuntu-2510 + title: "25.10" - id: os-linux-ubuntu-2504 title: "25.04" - - id: os-linux-ubuntu-other - title: "Other" - id: openai-library title: OpenAI Library prompt: Choose a host service for OpenAI