Instalace sady .NET SDK pomocí modulu Snap
Tento článek popisuje, jak nainstalovat balíček snap sady .NET SDK. Balíčky snap sady .NET SDK poskytují a spravují Canonical. Moduly Snaps jsou skvělou alternativou ke správci balíčků, který je integrovaný do vaší linuxové distribuce.
Přichycení je sada aplikací a jejích závislostí, které fungují v mnoha různých distribucích Linuxu. Moduly Snap Store jsou zjistitelné a instalovatelné. Další informace o modulu Snap najdete v tématu Rychlý start.
Upozornění
Instalace přichycení rozhraní .NET můžou mít problémy se spouštěním nástrojů .NET. Pokud chcete použít nástroje .NET, doporučujeme nainstalovat .NET pomocí dotnet-install
skriptu nebo správce balíčků pro konkrétní linuxovou distribuci.
Jedná se o známý problém, že dotnet watch
příkaz nefunguje, když je rozhraní .NET nainstalované prostřednictvím modulu Snap.
Pokud budete používat nástroje .NET nebo dotnet watch
příkaz, doporučujeme nainstalovat .NET pomocí dotnet-install
skriptu.
Požadavky
- Distribuce Linuxu, která podporuje modul snap.
snapd
démon přichycení.
Vaše distribuce Linuxu už může obsahovat modul snap. Zkuste spustit snap
z terminálu, abyste zjistili, jestli příkaz funguje. Seznam podporovaných distribucí Linuxu a pokyny k instalaci modulu snap naleznete v tématu Instalace snapd
.
Vydané verze .NET
Microsoft publikuje .NET ve dvou různých zásadách podpory, dlouhodobé podpoře (LTS) a standardním období podpory (STS). Kvalita všech verzí je stejná. Jediným rozdílem je délka podpory. Verze LTS získají bezplatnou podporu a opravy po dobu tří let. Verze stS získají bezplatnou podporu a opravy po dobu 18 měsíců. Další informace najdete v tématu Zásady podpory .NET.
Verze rozhraní .NET, které microsoft aktuálně podporuje, jsou:
- 9.0 (STS) – podpora končí květen 2026.
- 8.0 (LTS) – Podpora končí 10. listopadu 2026.
Jiné entity, které sestavují a vydávají .NET, můžou zavádět různé zásady podpory. Nezapomeňte se s nimi seznámit s tím, jak se podporuje .NET.
1. Instalace sady SDK
Důležité
Rozhraní .NET 9 bylo vydáno 12. listopadu 2024. Může to chvíli trvat, než se balíčky zobrazí v informačních kanálech správce balíčků nebo aby je mohla zahrnout vaše konkrétní distribuce Linuxu.
Balíčky přichycení pro sadu .NET SDK jsou publikovány ve stejném identifikátoru: dotnet-sdk
. Konkrétní verzi sady SDK je možné nainstalovat zadáním kanálu. Sada SDK zahrnuje modul runtime ASP.NET Core i .NET verze sady SDK.
Tip
Stránka balíčku Snapcraft .NET SDK obsahuje pokyny specifické pro distribuci, jak nainstalovat Snapcraft a .NET.
Otevřete terminál.
Slouží
snap install
k instalaci balíčku snap-in .NET SDK. Například následující příkaz nainstalujelatest/stable
kanál, což je výchozí nastavení.sudo snap install dotnet-sdk --classic
- Parametr
--classic
je povinný. - Pomocí parametru
--channel
určete verzi, kterou chcete nainstalovat. Pokud tento parametr vynecháte,latest/stable
použije se. Například--channel 8.0/stable
nainstaluje sadu .NET SDK 8.0.
- Parametr
Alias dotnet
přichycení se automaticky vytvoří a mapuje na příkaz balíčku dotnet
snap.
Následující tabulka uvádí kanály balíčků, které můžete nainstalovat:
Verze .NET | Přichytit kanál balíčku |
---|---|
9 (STS) | *Ještě není k dispozici. |
8 (LTS) | 8.0/stable lts/stable |
7 (STS) | 7.0/stable (mimo podporu) |
6 (LTS) | 6.0/stable (mimo podporu) |
5 | 5.0/stable (mimo podporu) |
3.1 | 3.1/stable (mimo podporu) |
2.1 | 2.1/stable (mimo podporu) |
2. Export umístění instalace
Proměnná DOTNET_ROOT
prostředí je často používána nástroji k určení, kde je .NET nainstalován. Když je .NET nainstalována prostřednictvím modulu Snap, tato proměnná prostředí není nakonfigurována. Ve svém profilu byste měli nakonfigurovat proměnnou prostředí DOTNET_ROOT . Cesta k přichycení používá následující formát: /snap/{package}/current
.
export DOTNET_ROOT=/snap/dotnet-sdk/current
Trvale exportovat proměnnou prostředí
Předchozí export
příkaz nastaví proměnnou prostředí pouze pro relaci terminálu, ve které byla spuštěna.
Profil prostředí můžete upravit a trvale přidat příkazy. Pro Linux je k dispozici mnoho různých prostředí a každý má jiný profil. Příklad:
- Prostředí Bash: ~/.bash_profile, ~/.bashrc
- Korn Shell: ~/.kshrc nebo .profile
- Z Shell: _~/.zshrc* nebo .zprofile
Upravte příslušný zdrojový soubor pro prostředí a přidejte export DOTNET_ROOT=/snap/dotnet-sdk/current
.
3. Použití rozhraní příkazového řádku .NET
Otevřete terminál a zadejte dotnet
.
dotnet
Zobrazí se následující výstup:
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.
Informace o tom, jak používat .NET CLI, najdete v přehledu .NET CLI.
Řešení problému
- Příkaz terminálu dotnet nefunguje
- Nejde nainstalovat snap na WSL2
- Nejde přeložit příkaz dotnet nebo sadu SDK
- Chyby certifikátu TLS/SSL
Příkaz terminálu dotnet nefunguje
Balíčky snap můžou mapovat alias na příkaz poskytnutý balíčkem. Ve výchozím nastavení balíčky přichycení sady .NET SDK vytvoří alias pro dotnet
příkaz. Pokud se alias nevytvořil nebo se předtím odebral, následující příkaz ukazuje, jak tento alias namapovat:
sudo snap alias dotnet-sdk.dotnet dotnet
Nejde nainstalovat snap na WSL2
systemd
musí být v instanci WSL2 povolena, aby bylo možné nainstalovat nástroj Snap.
Otevřete
/etc/wsl.conf
v textovém editoru podle svého výběru.Vložte následující konfiguraci:
[boot] systemd=true
Uložte soubor a restartujte instanci WSL2 prostřednictvím PowerShellu. Použijte příkaz
wsl.exe --shutdown
.
Nejde přeložit příkaz dotnet nebo sadu SDK
U jiných aplikací, jako je integrované vývojové prostředí (IDE kódu) nebo rozšíření v editoru Visual Studio Code, je běžné, že se pokusíte přeložit umístění sady .NET SDK. Zjišťování se obvykle provádí kontrolou DOTNET_ROOT
proměnné prostředí nebo zjištěním umístění spustitelného dotnet
souboru. Sada .NET SDK nainstalovaná přichycení může tyto aplikace zmást. Pokud tyto aplikace nemůžou vyřešit sadu .NET SDK, zobrazí se chyba podobná jedné z následujících zpráv:
- Zadaná sada SDK Microsoft.NET.SDK nebyla nalezena.
- Zadaná sada SDK Microsoft.NET.Sdk.Web nebyla nalezena.
- Zadaná sada SDK Microsoft.NET.Sdk.Razor nebyla nalezena.
Zkuste problém vyřešit pomocí následujících kroků:
Ujistěte se, že proměnnou
DOTNET_ROOT
prostředí exportujete trvale.Zkuste symbolický odkaz spustitelného souboru přichytit
dotnet
k umístění, které program hledá.Mezi běžné cesty,
dotnet
které příkaz hledá, patří:/usr/local/bin/dotnet
/usr/share/dotnet
Pomocí následujícího příkazu vytvořte symbolický odkaz na balíček snap:
ln -s /snap/dotnet-sdk/current/dotnet /usr/local/bin/dotnet
Chyby certifikátu TLS/SSL
Když je .NET nainstalovaný prostřednictvím modulu Snap, je možné, že v některých distribucích se certifikáty TLS/SSL .NET nenašel a během restore
následujících kroků se může zobrazit chyba:
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]
Pokud chcete tento problém vyřešit, nastavte několik proměnných prostředí:
export SSL_CERT_FILE=[path-to-certificate-file]
export SSL_CERT_DIR=/dev/null
Umístění certifikátu se liší podle distribuce. Tady jsou umístění pro distribuce, u kterých došlo k problému:
Distribuce | Umístění |
---|---|
Plstěný klobouk | /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem |
OpenSUSE | /etc/ssl/ca-bundle.pem |
Solus | /etc/ssl/certs/ca-certificates.crt |