Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano sposób instalowania pakietu przystawki zestawu SDK platformy .NET. Pakiety przyciągania zestawu .NET SDK są dostarczane i obsługiwane przez firmę Canonical. Przystawki to świetna alternatywa dla menedżera pakietów wbudowanego w dystrybucję systemu Linux.
Przystawka to pakiet aplikacji i jej zależności, które działają w wielu różnych dystrybucjach systemu Linux. Przystawki można odnajdywać i instalować ze sklepu Snap Store. Aby uzyskać więcej informacji na temat przystawki, zobacz Przewodnik Szybki start.
Uwaga
Instalacje przyciągania 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.
Jest to znany problem polegający na tym, że dotnet watch polecenie nie działa, gdy platforma .NET jest zainstalowana za pośrednictwem przystawki.
Jeśli zamierzasz użyć narzędzi .NET lub dotnet watch polecenia, zalecamy zainstalowanie platformy .NET przy użyciu skryptudotnet-install.
Wymagania wstępne
- Dystrybucja systemu Linux, która obsługuje przystawkę.
-
snapddemon przystawki.
Dystrybucja systemu Linux może już obejmować przystawkę. 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 sposobu instalowania przystawki, zobacz Instalowanie snapdprogramu .
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 zapoznać się z nimi, aby zrozumieć, jak platforma .NET jest obsługiwana.
1. Instalowanie zestawu SDK
Ważne
Platforma .NET 10 została wydana 11 listopada 2025 r. Może upłynąć trochę czasu, aby pakiety pojawiały się w kanałach informacyjnych menedżera pakietów lub w celu uwzględnienia ich w określonej dystrybucji systemu Linux.
Począwszy od .NET 9, pakiety snap dla zestawu .NET SDK są publikowane pod identyfikatorami specyficznymi dla wersji (na przykład dotnet-sdk-90 dla .NET 9 i dotnet-sdk-100 dla .NET 10). Przed platformą .NET 9 wszystkie wersje zestawu SDK zostały opublikowane w ramach tego samego identyfikatora dotnet-sdk, i określono wersję poprzez kanał. Ponadto pakiety snap dla .NET 9 i nowszych wersji obsługują architektury x64 i ARM64, podczas gdy starsze wersje obsługują tylko architekturę x64. Zestaw SDK zawiera zarówno środowisko uruchomieniowe ASP.NET Core, jak i .NET, w wersji do zestawu SDK.
Napiwek
Strona pakietu zestawu SDK platformy .NET programu Snapcraft zawiera instrukcje dotyczące dystrybucji dotyczące sposobu instalowania programów Snapcraft i .NET.
Otwórz terminal.
Użyj
snap installpolecenia , aby zainstalować pakiet przystawki zestawu .NET SDK.Parametr
--classicjest wymagany.W przypadku platformy .NET 9 lub nowszej
Zainstaluj pakiet specyficzny dla wersji. Na przykład następujące polecenie instaluje zestaw .NET SDK 10:
sudo snap install dotnet-sdk-100 --classicW przypadku platformy .NET 8 i starszych
Zainstaluj z
dotnet-sdkpakietu i określ kanał. Jeśli ten parametr zostanie pominięty,latest/stablezostanie użyty. Na przykład następujące polecenie instaluje zestaw .NET SDK 8:sudo snap install dotnet-sdk --classic --channel 8.0/stable
Alias przyciągania dotnet jest tworzony automatycznie i mapowany na polecenie pakietu przyciągania dotnet .
W poniższej tabeli wymieniono pakiety snap i kanały, które można zainstalować.
| Wersja platformy .NET | Pakiet Snap lub kanał |
|---|---|
| 10 (LTS) |
dotnet-sdk-100 (wersja zapoznawcza) |
| 9 (STS) | dotnet-sdk-90 |
| 8 (LTS) | dotnet-sdk --channel 8.0/stable |
| 7 |
dotnet-sdk --channel 7.0/stable (brak pomocy technicznej) |
| 6 |
dotnet-sdk --channel 6.0/stable (brak pomocy technicznej) |
| 5 |
dotnet-sdk --channel 5.0/stable (brak pomocy technicznej) |
| 3.1 |
dotnet-sdk --channel 3.1/stable (brak pomocy technicznej) |
| 2.1 |
dotnet-sdk --channel 2.1/stable (brak pomocy technicznej) |
2. 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ą przystawki ta zmienna środowiskowa nie jest skonfigurowana. Należy skonfigurować zmienną środowiskową DOTNET_ROOT w profilu. Ścieżka do przystawki używa następującego formatu: /snap/{package}/current.
W przypadku platformy .NET 9 i nowszych użyj nazwy pakietu specyficznego dla wersji:
export DOTNET_ROOT=/snap/dotnet-sdk-100/current
W przypadku platformy .NET 8 i starszych użyj nazwy pakietu udostępnionego:
export DOTNET_ROOT=/snap/dotnet-sdk/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
- Powłoka Z: _~/.zshrc* lub .zprofile
Zmodyfikuj odpowiedni plik źródłowy powłoki i dodaj polecenie eksportu dla zainstalowanej wersji platformy .NET. W przypadku platformy .NET 9+użyj polecenia export DOTNET_ROOT=/snap/dotnet-sdk-100/current (dostosuj numer wersji zgodnie z potrzebami). W przypadku platformy .NET 8 i starszych użyj polecenia export DOTNET_ROOT=/snap/dotnet-sdk/current.
3. Korzystanie z interfejsu wiersza polecenia platformy .NET
Otwórz terminal i wpisz dotnet.
dotnet
Zostaną wyświetlone następujące dane wyjściowe:
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.
Rozwiązywanie problemów
- Polecenie terminalu dotnet nie działa
- Nie można zainstalować przystawki w programie WSL2
- Nie można rozpoznać polecenia dotnet lub zestawu SDK
- Błędy certyfikatu TLS/SSL
Polecenie terminalu dotnet nie działa
Pakiety przyciągania mogą mapować alias na polecenie dostarczone przez pakiet. Domyślnie pakiety przyciągania zestawu .NET SDK tworzą alias dla dotnet polecenia . Jeśli alias nie został utworzony lub został wcześniej usunięty, użyj następującego polecenia, aby zamapować alias.
W przypadku platformy .NET 9 lub nowszej:
sudo snap alias dotnet-sdk-100.dotnet dotnet
W przypadku platformy .NET 8 i starszych:
sudo snap alias dotnet-sdk.dotnet dotnet
Nie można zainstalować przystawki w programie WSL2
systemd Aby można było zainstalować przystawkę, należy włączyć w wystąpieniu programu WSL2.
Otwórz
/etc/wsl.confw wybranym edytorze tekstów.Wklej następującą konfigurację:
[boot] systemd=trueZapisz plik i uruchom ponownie wystąpienie WSL2 za pomocą programu PowerShell. Użyj polecenia
wsl.exe --shutdown.
Nie można rozpoznać polecenia dotnet lub zestawu SDK
Jest to typowe dla innych aplikacji, takich jak środowisko IDE kodu lub rozszerzenie w programie Visual Studio Code, aby spróbować rozpoznać lokalizację zestawu .NET SDK. Zazwyczaj odnajdywanie odbywa się przez sprawdzenie zmiennej środowiskowej DOTNET_ROOT lub ustalenie, gdzie dotnet znajduje się plik wykonywalny. Zestaw SDK platformy .NET zainstalowany przez przystawkę może mylić te aplikacje. Jeśli te aplikacje nie mogą rozpoznać zestawu .NET SDK, zostanie wyświetlony błąd podobny do jednego z następujących komunikatów:
- Nie można odnaleźć określonego zestawu SDK "Microsoft.NET.Sdk"
- Nie można odnaleźć określonego zestawu SDK "Microsoft.NET.Sdk.Web"
- Nie można odnaleźć określonego zestawu SDK "Microsoft.NET.Sdk.Razor"
Spróbuj wykonać następujące czynności, aby rozwiązać ten problem:
Upewnij się, że zmienna środowiskowa jest
DOTNET_ROOTeksportowana trwale.Spróbuj połączyć symboliczny plik wykonywalny przyciągania
dotnetz lokalizacją, którą szuka program.Dwie typowe ścieżki
dotnet, których szuka polecenie, to:/usr/local/bin/dotnet/usr/share/dotnet
Użyj następującego polecenia, aby utworzyć link symboliczny do pakietu snap. W przypadku platformy .NET 9 i nowszych użyj nazwy pakietu specyficznego dla wersji:
ln -s /snap/dotnet-sdk-100/current/dotnet /usr/local/bin/dotnetW przypadku platformy .NET 8 i starszych:
ln -s /snap/dotnet-sdk/current/dotnet /usr/local/bin/dotnet
Błędy certyfikatu TLS/SSL
Po zainstalowaniu platformy .NET za pomocą przystawki możliwe jest, że w niektórych dystrybucjach certyfikaty TLS/SSL platformy .NET mogą nie zostać znalezione i może wystąpić błąd podczas :restore
Processing post-creation actions...
Running 'dotnet restore' on /home/myhome/test/test.csproj...
Restoring packages for /home/myhome/test/test.csproj...
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [/home/myhome/test/test.csproj]
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error : The SSL connection could not be established, see inner exception. [/home/myhome/test/test.csproj]
/snap/dotnet-sdk/27/sdk/2.2.103/NuGet.targets(114,5): error : The remote certificate is invalid according to the validation procedure. [/home/myhome/test/test.csproj]
Aby rozwiązać ten problem, ustaw kilka zmiennych środowiskowych:
export SSL_CERT_FILE=[path-to-certificate-file]
export SSL_CERT_DIR=/dev/null
Lokalizacja certyfikatu różni się w zależności od dystrybucji. Poniżej przedstawiono lokalizacje dystrybucji, w których zaobserwowano problem:
| Dystrybucja | Lokalizacja |
|---|---|
| Fedora | /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem |
| OpenSUSE | /etc/ssl/ca-bundle.pem |
| Solus | /etc/ssl/certs/ca-certificates.crt |