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 funkci Snap naleznete v tématu Začínáme.
Důležité
Pokud nainstalujete .NET pomocí Snapu, používejte Snap ke správě všech instalací .NET. Vyhněte se kombinování Snapu s jinými metodami instalace, například se správcem balíčků nebo skriptovanou instalací, protože kombinování těchto metod může způsobit konflikty.
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
Pokud chcete nainstalovat sadu .NET SDK, použijte identifikátory balíčku snap specifické pro verzi, protože tento přístup umožňuje nainstalovat a spravovat více verzí sady SDK vedle sebe. Například použijte dotnet-sdk-80 pro .NET 8 a dotnet-sdk-100 pro .NET 10. SDK zahrnuje ASP.NET Core i .NET runtime, které jsou verzovány podle SDK. Tento článek používá balíček snap sady .NET 10 SDK. Pokud používáte jiný balíček, nahraďte jej.
Tip
Stránka balíčku Snapcraft .NET SDK (.NET 8, .NET 9, .NET 10) 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.Následující příkaz nainstaluje .NET SDK 10:
sudo snap install dotnet-sdk-100
Následující tabulka uvádí balíčky snap-in .NET SDK, které můžete nainstalovat:
| verze .NET | Balíček Snap |
|---|---|
| 10 (LTS) | dotnet-sdk-100 |
| 9 (STS) | dotnet-sdk-90 |
| 8 (LTS) | dotnet-sdk-80 |
2. Mapování příkazu dotnet
Vzhledem k tomu, že Snap nevytvoří neverzní dotnet příkaz, vytvořte symbolický odkaz, aby byl dotnet dostupný pro celý systém. Tento odkaz vytvořte jen pokud chcete namapovat příkaz dotnet na tuto konkrétní instalaci Snapu. Pokud již máte .NET nainstalován prostřednictvím jiné metody a vytvoříte tento odkaz, přepíše toto mapování.
Pokud /usr/local/bin/dotnet už existuje, před vytvořením odkazu ho odeberte.
sudo ln -s /snap/dotnet-sdk-100/current/usr/bin/dotnet /usr/local/bin/dotnet
3. Export umístění instalace
Nakonfigurujte proměnnou DOTNET_ROOT prostředí v profilu prostředí, protože nástroje ji používají k určení, kde je nainstalovaná .NET. Instalace pomocí Snapu tuto proměnnou automaticky nenastavují. Cesta používá následující formát: /snap/{package}/current/usr/lib/dotnet.
export DOTNET_ROOT=/snap/dotnet-sdk-100/current/usr/lib/dotnet
Nahraďte 100 nainstalovanou verzi sady SDK, například 80 pro .NET 8 nebo 90 pro .NET 9.
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í, přidejte příkaz pro export nainstalované .NET verze a uložte změny.
Například: export DOTNET_ROOT=/snap/dotnet-sdk-100/current/usr/lib/dotnet.
4. Použití rozhraní příkazového řádku .NET
Otevřete terminál a spusťte dotnet příkaz.
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
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ů:
- Dokončeno 2. Namapujte příkaz dotnet.
- Trvale nastavte proměnnou prostředí
DOTNET_ROOTpodle postupu v části Trvalý export proměnné prostředí.
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