Skip to content

Commit

Permalink
Add installation guidance
Browse files Browse the repository at this point in the history
  • Loading branch information
richlander authored Jan 18, 2025
1 parent c887106 commit 1b15609
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 0 deletions.
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

0 comments on commit 1b15609

Please sign in to comment.