Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add installation guidance #44425

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions docs/core/install/guidance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
title: Installing .NET Guidance
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.custom: linux-related-content
---

# Installing .NET Guidance

There are multiple ways to [install .NET](.). Reliability, servicing, and high availability are important requirements for many users.

## Binaries

There are multiple ways to download binaries:

- [.NET website](https://dotnet.microsoft.com/download)
- [Install script](../tools/dotnet-install-script)
- [Release JSON files](https://builds.dotnet.microsoft.com/dotnet/release-metadata/releases-index.json)
- [Release notes](https://github.com/dotnet/core/blob/main/release-notes/README.md)

Packages and container images are also available, documented in release notes.

## Picking the best URL

Some scenarios requiring hard-coding URLs, for example [our Dockerfiles](https://github.com/dotnet/dotnet-docker/blob/85c275aed5bda401dc067ccc4a99a43bdd0d7531/src/runtime/8.0/jammy/amd64/Dockerfile#L8). We offer various URL schemes to meet specific needs.

For binaries:

- Major-version short link: https://aka.ms/dotnet/8.0/dotnet-runtime-linux-x64.tar.gz

Check failure on line 31 in docs/core/install/guidance.md

View workflow job for this annotation

GitHub Actions / lint

Bare URL used

docs/core/install/guidance.md:31:29 MD034/no-bare-urls Bare URL used [Context: "https://aka.ms/dotnet/8.0/dotn..."] https://github.com/DavidAnson/markdownlint/blob/v0.37.2/doc/md034.md
- Patch-version link: https://builds.dotnet.microsoft.com/dotnet/Runtime/8.0.12/dotnet-runtime-8.0.12-linux-x64.tar.gz

Check failure on line 32 in docs/core/install/guidance.md

View workflow job for this annotation

GitHub Actions / lint

Bare URL used

docs/core/install/guidance.md:32:23 MD034/no-bare-urls Bare URL used [Context: "https://builds.dotnet.microsof..."] https://github.com/DavidAnson/markdownlint/blob/v0.37.2/doc/md034.md

The first link provides servicing updates transparently while the second provides repeatable stability. The first link also relies on another service (including a 3xx redirect) to arrive at the correct final link.

For the install script:

- Short link: https://dot.net/v1/dotnet-install.sh

Check failure on line 38 in docs/core/install/guidance.md

View workflow job for this annotation

GitHub Actions / lint

Bare URL used

docs/core/install/guidance.md:38:15 MD034/no-bare-urls Bare URL used [Context: "https://dot.net/v1/dotnet-inst..."] https://github.com/DavidAnson/markdownlint/blob/v0.37.2/doc/md034.md
- Long link: https://builds.dotnet.microsoft.com/dotnet/scripts/v1/dotnet-install.sh

Check failure on line 39 in docs/core/install/guidance.md

View workflow job for this annotation

GitHub Actions / lint

Bare URL used

docs/core/install/guidance.md:39:14 MD034/no-bare-urls Bare URL used [Context: "https://builds.dotnet.microsof..."] https://github.com/DavidAnson/markdownlint/blob/v0.37.2/doc/md034.md

These two links are a matter of preference.

For release JSON files:

- Official: https://builds.dotnet.microsoft.com/dotnet/release-metadata/releases-index.json

Check failure on line 45 in docs/core/install/guidance.md

View workflow job for this annotation

GitHub Actions / lint

Bare URL used

docs/core/install/guidance.md:45:13 MD034/no-bare-urls Bare URL used [Context: "https://builds.dotnet.microsof..."] https://github.com/DavidAnson/markdownlint/blob/v0.37.2/doc/md034.md
- GitHub: https://github.com/dotnet/core/blob/main/release-notes/releases-index.json

Check failure on line 46 in docs/core/install/guidance.md

View workflow job for this annotation

GitHub Actions / lint

Bare URL used

docs/core/install/guidance.md:46:11 MD034/no-bare-urls Bare URL used [Context: "https://github.com/dotnet/core..."] https://github.com/DavidAnson/markdownlint/blob/v0.37.2/doc/md034.md

The official `builds.dotnet.microsoft.com` link must be used for any production use of the JSON files. We do not offer production support for downtime for the GitHub link.

Notes:

- Distribution of [.NET installers changed in early 2025](https://github.com/dotnet/core/issues/9671). It is possible that you may need to adapt to those changes.
- The JSON files historically [reference binaries from `download.visualstudio.microsoft.com`](https://github.com/dotnet/core/blob/ba8e8b613986c903b0caebfdb4cee8a2c6bf7f7b/release-notes/8.0/8.0.0/release.json#L31-L34). Going forward, only the `builds.dotnet.microsoft.com` will be used.

## Checksums

We provide checksums for all binaries so that integrity can be validated.

Checksums are provided in multiple ways:

- Version-specific checksum file: https://builds.dotnet.microsoft.com/dotnet/checksums/8.0.0-sha.txt

Check failure on line 61 in docs/core/install/guidance.md

View workflow job for this annotation

GitHub Actions / lint

Bare URL used

docs/core/install/guidance.md:61:35 MD034/no-bare-urls Bare URL used [Context: "https://builds.dotnet.microsof..."] https://github.com/DavidAnson/markdownlint/blob/v0.37.2/doc/md034.md
- Release JSON: https://github.com/dotnet/core/blob/ba8e8b613986c903b0caebfdb4cee8a2c6bf7f7b/release-notes/8.0/8.0.0/release.json#L31-L34

Check failure on line 62 in docs/core/install/guidance.md

View workflow job for this annotation

GitHub Actions / lint

Bare URL used

docs/core/install/guidance.md:62:17 MD034/no-bare-urls Bare URL used [Context: "https://github.com/dotnet/core..."] https://github.com/DavidAnson/markdownlint/blob/v0.37.2/doc/md034.md

## CI Installers

CI installers, like [GitHub Actions](https://github.com/actions/setup-dotnet) and [Azure DevOps Tasks](https://learn.microsoft.com/azure/devops/pipelines/tasks/reference/use-dotnet-v2), are built on top of these same primitives. We work with these teams so that CI installers provide the best experience.
2 changes: 2 additions & 0 deletions docs/fundamentals/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ items:
href: ../core/install/linux-snap-runtime.md
- name: SDK
href: ../core/install/linux-snap-sdk.md
- name: Install guidance
href: ../core/install/guidance.md
- name: Upgrade to a new .NET version
href: ../core/install/upgrade.md
- name: Remove outdated runtimes and SDKs
Expand Down
Loading