Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek popisuje, jak nainstalovat balíček snap-in .NET SDK. Snap balíčky SDK poskytuje a spravuje společnost Canonical. Moduly Snaps jsou skvělou alternativou ke správci balíčků, který je integrovaný do vaší linuxové distribuce.
Snap je balíček aplikace a jejích závislostí, které fungují napříč mnoha různými distribucemi Linuxu. Snapy jsou k dispozici a instalovatelné ze Snap Store. Další informace o Snapu najdete v tématu Rychlá prohlídka.
Upozornění
Instalace Snap systému .NET mohou mít problémy se spuštěním nástrojů .NET. Pokud chcete použít nástroje .NET, doporučujeme nainstalovat .NET pomocí skriptu dotnet-install nebo správce balíčků pro konkrétní distribuci Linuxu.
Jedná se o známý problém, že příkaz dotnet watch nefunguje, když se .NET nainstaluje přes snap.
Pokud budete používat nástroje .NET nebo příkaz dotnet watch, doporučujeme nainstalovat .NET pomocí skriptu dotnet-install.
Požadavky
- Distribuce Linuxu, která podporuje modul snap.
-
snapddé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.
verze .NET
Microsoft publikuje .NET ve dvou různých zásadách podpory, dlouhodobé podpoře (LTS) a standardní podpoře (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 chyb po dobu dvou let. Další informace najdete v tématu .NET Zásady podpory.
Verze .NET, které jsou aktuálně podporovány společností Microsoft, jsou:
- 10.0 (LTS) – Podpora končí 14. listopadu 2028.
- 9.0 (STS) – Podpora končí 10. listopadu 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é
.NET 10 bylo vydáno 11. listopadu 2025. 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.
Počínaje .NET 9 se balíčky snap pro sadu .NET SDK publikují v identifikátorech specifických pro verzi (například dotnet-sdk-90 pro .NET 9 a dotnet-sdk-100 pro .NET 10). Před .NET 9 byly všechny verze sady SDK publikovány pod stejným identifikátorem dotnet-sdk a zadali jste verzi prostřednictvím kanálu. Kromě toho .NET 9 a novějších balíčků snap podporují architektury x64 i Arm64, zatímco starší verze podporují pouze x64. SDK zahrnuje ASP.NET Core i .NET runtime, které jsou verzovány podle SDK.
Tip
Stránka balíčku Snapcraft .NET SDK obsahuje pokyny specifické pro distribuci, jak nainstalovat Snapcraft a .NET.
Otevřete terminál.
Pomocí příkazu
snap installnainstalujte balíček snap sady .NET SDK.Je vyžadován parametr
--classic.Pro .NET 9 a novější
Nainstalujte balíček specifický pro verzi. Například následující příkaz nainstaluje .NET SDK 10:
sudo snap install dotnet-sdk-100 --classicPro .NET 8 a starší
Nainstalujte z
dotnet-sdkbalíčku a zadejte kanál. Pokud tento parametr vynecháte,latest/stablepoužije se. Například následující příkaz nainstaluje .NET SDK 8:sudo snap install dotnet-sdk --classic --channel 8.0/stable
Alias dotnet snap se automaticky vytvoří a mapuje na příkaz balíčku dotnet snap.
Následující tabulka uvádí balíčky snap a kanály, které můžete nainstalovat:
| verze .NET | Přichytit balíček nebo kanál |
|---|---|
| 10 (LTS) |
dotnet-sdk-100 (Preview) |
| 9 (STS) | dotnet-sdk-90 |
| 8 (LTS) | dotnet-sdk --channel 8.0/stable |
| 7 |
dotnet-sdk --channel 7.0/stable (mimo podporu) |
| 6 |
dotnet-sdk --channel 6.0/stable (mimo podporu) |
| 5 |
dotnet-sdk --channel 5.0/stable (mimo podporu) |
| 3.1 |
dotnet-sdk --channel 3.1/stable (mimo podporu) |
| 2.1 |
dotnet-sdk --channel 2.1/stable (mimo podporu) |
2. Export umístění instalace
Proměnné prostředí DOTNET_ROOT často používají nástroje k určení, kde je nainstalovaná .NET. Při instalaci .NET přes Snap není tato proměnná prostředí nakonfigurovaná. Ve svém profilu byste měli nakonfigurovat proměnnou prostředí DOTNET_ROOT. Cesta k snap balíčku používá následující formát: /snap/{package}/current.
Pro .NET 9 a novější použijte název balíčku specifického pro verzi:
export DOTNET_ROOT=/snap/dotnet-sdk-100/current
Pro .NET 8 a starší použijte název sdíleného balíčku:
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é byl spuštěn.
Profil prostředí můžete upravit a trvale přidat příkazy. Pro Linux je k dispozici mnoho různých shellů a každý má jiný profil. Příklad:
- Bash shell: ~/.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 příkaz pro export nainstalované .NET verze. Pro .NET 9 nebo novější použijte export DOTNET_ROOT=/snap/dotnet-sdk-100/current (podle potřeby upravte číslo verze). Pro .NET 8 a starší použijte 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 používání rozhraní příkazového řádku .NET najdete v tématu .NET přehled rozhraní příkazového řádku.
Řešení problému
- Příkaz terminálu dotnet nefunguje
- Nejde nainstalovat snap na WSL2
- Nejde rozpoznat příkaz dotnet nebo 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 snap sady .NET SDK vytvoří alias pro příkaz dotnet. Pokud se alias nevytvořil nebo byl dříve odebrán, namapujte alias pomocí následujícího příkazu.
Pro .NET 9 a novější:
sudo snap alias dotnet-sdk-100.dotnet dotnet
Pro .NET 8 a starší:
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.confv textovém editoru podle svého výběru.Vložte následující konfiguraci:
[boot] systemd=trueUlož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) nebo rozšíření ve Visual Studio Code, je běžné, že se pokouší vyhledat 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 SDK nainstalovaná pomocí Snap .NET může tyto aplikace má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ý SDK 'Microsoft.NET.Sdk' nebyl nalezen.
- Nelze najít zadanou sadu SDK 'Microsoft.NET.Sdk.Web'.
- Zadaný SDK 'Microsoft.NET.Sdk.Razor' nebyl nalezen.
Zkuste problém vyřešit pomocí následujících kroků:
Ujistěte se, že proměnnou
DOTNET_ROOTprostředí exportujete trvale.Zkuste symbolicky odkázat spustitelný soubor
dotnetna umístění, které program hledá.K dvěma běžným cestám, které příkaz
dotnethledá, patří:/usr/local/bin/dotnet/usr/share/dotnet
Pomocí následujícího příkazu vytvořte symbolický odkaz na balíček snap. Pro .NET 9 a novější použijte název balíčku specifického pro verzi:
ln -s /snap/dotnet-sdk-100/current/dotnet /usr/local/bin/dotnetPro .NET 8 a starší:
ln -s /snap/dotnet-sdk/current/dotnet /usr/local/bin/dotnet
Chyby certifikátu TLS/SSL
Při instalaci .NET prostřednictvím modulu Snap je možné, že v některých distribucích se certifikáty TLS/SSL .NET nenalezeny a během restore 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í |
|---|---|
| Fedora | /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem |
| OpenSUSE | /etc/ssl/ca-bundle.pem |
| Solus | /etc/ssl/certs/ca-certificates.crt |
Související obsah
- přehled rozhraní příkazového řádku .NET
- Jak povolit dokončování pomocí tabulátoru pro příkazovou řádku .NET CLI.
- Tutorial: Vytvoření konzolové aplikace s .NET