Udostępnij przez


Instalowanie środowiska uruchomieniowego platformy .NET przez Snap

W tym artykule opisano sposób instalowania pakietu przystawki środowiska uruchomieniowego platformy .NET. Pakiety snap środowiska wykonawczego .NET są dostarczane i obsługiwane przez firmę Canonical. Snaps to świetna alternatywa dla menedżera pakietów wbudowanego w dystrybucję systemu Linux. Jeśli musisz zainstalować zestaw SDK, zobacz Instalowanie zestawu SDK platformy .NET za pomocą przystawki.

Pakiet snap to zestaw aplikacji i jej zależności, które działają w wielu różnych dystrybucjach systemu Linux. Snapy można odnajdywać i instalować ze sklepu Snap Store. Więcej informacji o Snap znajdziesz w Przewodniku szybkiego startu.

Uwaga

Instalacje Snap platformy .NET mogą mieć problemy z uruchamianiem narzędzi .NET. Jeśli chcesz użyć narzędzi platformy .NET, zalecamy zainstalowanie platformy .NET przy użyciu skryptu dotnet-install lub menedżera pakietów dla określonej dystrybucji systemu Linux.

Wymagania wstępne

  • Dystrybucja systemu Linux, która obsługuje snap.
  • snapd demon przystawki.

Twoja dystrybucja systemu Linux może już zawierać snap. Spróbuj uruchomić polecenie snap z terminalu, aby sprawdzić, czy polecenie działa. Aby uzyskać listę obsługiwanych dystrybucji systemu Linux i instrukcje dotyczące instalacji programu snap, zobacz Instalowanie snapd.

Wersje platformy .NET

Firma Microsoft publikuje platformę .NET w dwóch różnych zasadach pomocy technicznej, long term support (LTS) i Standard Term Support (STS). Jakość wszystkich wydań jest taka sama. Jedyną różnicą jest długość wsparcia. Wersje LTS otrzymują bezpłatną pomoc techniczną i poprawki przez trzy lata. Wersje STS otrzymują bezpłatną pomoc techniczną i poprawki przez dwa lata. Aby uzyskać więcej informacji, zobacz Zasady pomocy technicznej platformy .NET.

Wersje platformy .NET, które są obecnie obsługiwane przez firmę Microsoft, to:

  • 10.0 (LTS) — wsparcie kończy się 14 listopada 2028 r.
  • 9.0 (STS) — wsparcie kończy się 10 listopada 2026 r.
  • 8.0 (LTS) — wsparcie kończy się 10 listopada 2026 r.

Inne jednostki, które kompilują i zwalniają platformę .NET, mogą wprowadzać różne zasady pomocy technicznej. Pamiętaj, aby skonsultować się z nimi, aby zrozumieć, jak platforma .NET jest wspierana.

1. Instalowanie środowiska uruchomieniowego

Aby zainstalować pakiet snap .NET 9 runtime, wykonaj następujące kroki:

  1. Otwórz terminal.

  2. Użyj snap install , aby zainstalować pakiet snap środowiska uruchomieniowego .NET. Na przykład następujące polecenie instaluje środowisko uruchomieniowe platformy .NET 9.

    sudo snap install dotnet-runtime-90
    

Każde środowisko uruchomieniowe platformy .NET jest publikowane jako pojedynczy pakiet snap. W poniższej tabeli wymieniono pakiety:

Wersja platformy .NET Pakiet Snap Wersja platformy .NET obsługiwana przez firmę Microsoft
10 (LTS) dotnet-runtime-100 Tak
9 (STS) dotnet-runtime-90 Tak
8 (LTS) dotnet-runtime-80 Tak
7 (STS) dotnet-runtime-70 Nie.
6 (LTS) dotnet-runtime-60 Nie.
5 dotnet-runtime-50 Nie.
3.1 dotnet-runtime-31 Nie.
3.0 dotnet-runtime-30 Nie.
2.2 dotnet-runtime-22 Nie.
2.1 dotnet-runtime-21 Nie.

2. Włącz polecenie dotnet

Po zainstalowaniu dotnet pakietu przystawki środowiska uruchomieniowego platformy .NET polecenie nie jest konfigurowane automatycznie. Użyj polecenia snap alias, aby użyć polecenia dotnet z terminala. Polecenie jest sformatowane jako: sudo snap alias {package}.{command} {alias}. Poniższy przykład pokazuje mapowanie dotnet polecenia:

sudo snap alias dotnet-runtime-90.dotnet dotnet

3. Eksportowanie lokalizacji instalacji

Zmienna DOTNET_ROOT środowiskowa jest często używana przez narzędzia do określania, gdzie jest zainstalowana platforma .NET. Po zainstalowaniu platformy .NET za pomocą Snap ta zmienna środowiskowa nie jest skonfigurowana. Należy skonfigurować zmienną środowiskową DOTNET_ROOT w profilu. Ścieżka do pakietu snap ma następujący format: /snap/{package}/current. Jeśli na przykład zainstalowano przystawkę dotnet-runtime-90 , użyj następującego polecenia, aby ustawić zmienną środowiskową na lokalizację platformy .NET:

export DOTNET_ROOT=/snap/dotnet-runtime-90/current

Trwałe eksportowanie zmiennej środowiskowej

export Poprzednie polecenie ustawia tylko zmienną środowiskową dla sesji terminalu, w której została uruchomiona.

Możesz edytować profil powłoki, aby trwale dodać polecenia. Istnieje wiele różnych powłok dostępnych dla systemu Linux i każdy z nich ma inny profil. Na przykład:

  • Powłoka Bash: ~/.bash_profile, ~/.bashrc
  • Korn Shell: ~/.kshrc lub .profile
  • Zsh: ~/.zshrc lub .zprofile

Zmodyfikuj odpowiedni plik źródłowy dla swojej powłoki i dodaj export DOTNET_ROOT=/snap/dotnet-runtime-90/current.

Rozwiązywanie problemów

Polecenie terminalu dotnet nie działa

Pakiety Snap mogą mapować alias na polecenie dostarczone przez ten pakiet. Pakiety snap środowiska uruchomieniowego .NET nie automatycznie powiązują polecenia dotnet. Aby aliasować polecenie dotnet do pakietu snap, użyj poniższego polecenia:

sudo snap alias dotnet-runtime-90.dotnet dotnet

Zastąp dotnet-runtime-90 element nazwą pakietu środowiska uruchomieniowego.

Nie można zainstalować Snap na WSL2

systemd musi być włączone w instancji WSL2, zanim Snap będzie można zainstalować.

  1. Otwórz /etc/wsl.conf w wybranym edytorze tekstów.

  2. Wklej następującą konfigurację:

    [boot]
    systemd=true
    
  3. Zapisz plik i uruchom ponownie wystąpienie WSL2 za pomocą programu PowerShell. Użyj polecenia wsl.exe --shutdown.

4. Użyj interfejsu wiersza polecenia .NET CLI

Otwórz terminal i wpisz dotnet.

dotnet

Zostaną wyświetlone dane wyjściowe podobne do następujących:

Usage: dotnet [options]
Usage: dotnet [path-to-application]

Options:
  -h|--help         Display help.
  --info            Display .NET information.
  --list-sdks       Display the installed SDKs.
  --list-runtimes   Display the installed runtimes.

path-to-application:
  The path to an application .dll file to execute.

Aby dowiedzieć się, jak używać interfejsu wiersza polecenia platformy .NET, zobacz Omówienie interfejsu wiersza polecenia platformy .NET.