Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez a cikk a .NET SDK beépülő csomag telepítését ismerteti. A .NET SDK beépülő csomagokat a Canonical biztosítja és tartja karban. A snapek nagyszerű alternatívát jelentenek a Linux-disztribúcióba beépített csomagkezelő helyett.
A beépülő modul egy alkalmazás csomagja és annak függőségei, amelyek számos különböző Linux-disztribúcióban működnek. A dokkolások felderíthetők és telepíthetők a Snap Store-ból. A Snap szolgáltatással kapcsolatos további információkért tekintse meg a rövid útmutatót.
Figyelemfelhívás
A .NET illesztési telepítéseinél problémák léphetnek fel a .NET-eszközök futtatása közben. Ha .NET-eszközöket szeretne használni, javasoljuk, hogy telepítse a .NET-et az dotnet-install adott Linux-disztribúció szkriptjével vagy csomagkezelőjével.
Ismert probléma, hogy a parancs nem működik, ha a dotnet watch .NET beépülő modulon keresztül van telepítve.
Ha .NET-eszközöket vagy parancsot dotnet watch szeretne használni, javasoljuk, hogy telepítse a .NET-et a dotnet-install szkripttel.
Előfeltételek
- A beépülő modult támogató Linux-disztribúció.
-
snapda snap démon.
Előfordulhat, hogy a Linux-disztribúció már tartalmazza a beépülő modult.
snap Futtassa a terminált, és ellenőrizze, hogy működik-e a parancs. A támogatott Linux-disztribúciók listáját és a beépülő modul telepítésével kapcsolatos utasításokat a Telepítés snapdcímű témakörben találja.
.NET-kiadások
A Microsoft a .NET-et két különböző támogatási szabályzat, a hosszú távú támogatás (LTS) és a standard távú támogatás (STS) keretében teszi közzé. Az összes kiadás minősége ugyanaz. Az egyetlen különbség a támogatás hossza. Az LTS-kiadások három évig ingyenes támogatást és javításokat kapnak. Az STS-kiadások két évig ingyenes támogatást és javításokat kapnak. További információt a .NET támogatási szabályzatában talál.
A Microsoft által jelenleg támogatott .NET-verziók a következők:
- 10.0 (LTS)– A támogatás 2028. november 14-ig tart.
- 9.0 (STS)– A támogatás 2026. november 10-ig tart.
- 8.0 (LTS)– A támogatás 2026. november 10-ig tart.
A .NET-et buildelő és kiadási entitások más támogatási szabályzatokat is bevezethetnek. Mindenképpen kérdezze meg őket, hogy a .NET hogyan támogatott.
1. Az SDK telepítése
Fontos
A .NET 10 2025. november 11-én jelent meg. Időbe telhet, mire a csomagok megjelennek a csomagkezelő hírcsatornáiban, vagy az adott Linux-disztribúció belefoglalja.
A .NET 9-től kezdődően a .NET SDK beépülő csomagjai verzióspecifikus azonosítók (például dotnet-sdk-90 .NET 9 és dotnet-sdk-100 .NET 10) alatt jelennek meg. .NET 9 előtt minden SDK-verzió ugyanazzal az azonosítóval lett közzétéve dotnet-sdk, és a verziót egy csatornán keresztül tudta megadni. A .NET 9 és újabb beépülő csomagok emellett az x64- és Arm64-architektúrákat is támogatják, míg a korábbi verziók csak az x64-et támogatják. Az SDK tartalmazza az SDK-ra verziózott ASP.NET Core és .NET futtatókörnyezetet is.
Tipp.
A Snapcraft .NET SDK csomagoldala terjesztési specifikus utasításokat tartalmaz a Snapcraft és a .NET telepítéséhez.
Nyisson meg egy terminált.
A .NET SDK beépülő csomag telepítéséhez használható
snap install.A(z)
--classicparamétert kötelező megadni..NET 9 és újabb verziók esetén
Telepítse a verzióspecifikus csomagot. A következő parancs például telepíti a .NET SDK 10-et:
sudo snap install dotnet-sdk-100 --classic.NET 8 és korábbi verziók esetén
Telepítse a
dotnet-sdkcsomagot, és adjon meg egy csatornát. Ha ez a paraméter nincs megadva,latest/stableakkor a rendszer használja. A következő parancs például telepíti a .NET SDK 8-at:sudo snap install dotnet-sdk --classic --channel 8.0/stable
A dotnet snap alias automatikusan létrejön, és megfeleltetve lesz a snap csomag parancsához dotnet .
Az alábbi táblázat felsorolja a telepíthető illesztőcsomagokat és csatornákat:
| .NET-verzió | Csomag vagy csatorna illesztés |
|---|---|
| 10 (LTS) |
dotnet-sdk-100 (előzetes verzió) |
| 9 (STS) | dotnet-sdk-90 |
| 8 (LTS) | dotnet-sdk --channel 8.0/stable |
| 7 |
dotnet-sdk --channel 7.0/stable (nem támogatott) |
| 6 |
dotnet-sdk --channel 6.0/stable (nem támogatott) |
| 5 |
dotnet-sdk --channel 5.0/stable (nem támogatott) |
| 3.1 |
dotnet-sdk --channel 3.1/stable (nem támogatott) |
| 2.1 |
dotnet-sdk --channel 2.1/stable (nem támogatott) |
2. A telepítési hely exportálása
A DOTNET_ROOT környezeti változót gyakran használják az eszközök annak meghatározására, hogy hol van telepítve a .NET. Ha a .NET beépülő modulon keresztül van telepítve, ez a környezeti változó nincs konfigurálva. Konfigurálja a DOTNET_ROOT környezeti változót a profiljában. A illesztés elérési útja a következő formátumot használja: /snap/{package}/current.
A .NET 9-es és újabb verzióihoz használja a verzióspecifikus csomagnevet:
export DOTNET_ROOT=/snap/dotnet-sdk-100/current
A .NET 8-hoz és korábbi verziókhoz használja a megosztott csomag nevét:
export DOTNET_ROOT=/snap/dotnet-sdk/current
A környezeti változó végleges exportálása
Az előző export parancs csak arra a terminál munkamenetre állítja be a környezeti változót, amelyben futtatták.
A parancsok végleges hozzáadásához szerkesztheti a rendszerhéjprofilt. Linux rendszeren számos különböző rendszerhéj érhető el, és mindegyik más profillal rendelkezik. Példa:
- Bash Shell: ~/.bash_profile, ~/.bashrc
- Korn Shell: ~/.kshrc vagy .profile
- Z Shell: _~/.zshrc* vagy .zprofile
Szerkessze a megfelelő forrásfájlt a shell-hez, és adja hozzá a telepített .NET verzió export parancsát. A .NET 9+-hoz használja export DOTNET_ROOT=/snap/dotnet-sdk-100/current (szükség szerint módosítsa a verziószámot). A .NET 8 és a korábbi verziók esetén használja export DOTNET_ROOT=/snap/dotnet-sdk/current.
3. A .NET parancssori felület használata
Nyisson meg egy terminált, és írja be a kívánt elemet dotnet.
dotnet
A következő kimenet jelenik meg:
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.
A .NET CLI használatának megismeréséhez tekintse meg a .NET CLI áttekintését.
Hibaelhárítás
- A dotnet terminálparancs nem működik
- Nem telepíthető a Snap on WSL2
- A dotnet parancs vagy az SDK nem oldható fel
- TLS-/SSL-tanúsítványhibák
A dotnet terminálparancs nem működik
A snap-csomagok egy aliast a csomag által biztosított parancsra képezhetnek le. A .NET SDK beépülő csomagok alapértelmezés szerint létrehoznak egy aliast a dotnet parancshoz. Ha az aliast nem hozták létre vagy korábban eltávolították, az alábbi paranccsal képezheti le az aliast.
.NET 9 és újabb verziók esetén:
sudo snap alias dotnet-sdk-100.dotnet dotnet
.NET 8 és korábbi verziók esetén:
sudo snap alias dotnet-sdk.dotnet dotnet
Nem telepíthető a Snap on WSL2
systemd A Beépülő modul telepítése előtt engedélyezni kell a WSL2-példányon.
Nyissa meg
/etc/wsl.confa kívánt szövegszerkesztőben.Illessze be a következő konfigurációt:
[boot] systemd=trueMentse a fájlt, és indítsa újra a WSL2-példányt a PowerShell használatával. Használja az
wsl.exe --shutdownparancsot.
A dotnet parancs vagy az SDK nem oldható fel
Más alkalmazások, például a code IDE vagy a Visual Studio Code bővítményei esetében gyakori, hogy megpróbálják feloldani a .NET SDK helyét. A felderítés általában a DOTNET_ROOT környezeti változó ellenőrzésével vagy a dotnet végrehajtható fájl helyére való kitalálással történik. A beépülő modullal telepített .NET SDK összezavarhatja ezeket az alkalmazásokat. Ha ezek az alkalmazások nem tudják megoldani a .NET SDK-t, a következő üzenetek egyikéhez hasonló hibaüzenet jelenik meg:
- A megadott "Microsoft.NET.Sdk" SDK nem található
- A megadott "Microsoft.NET.Sdk.Web" SDK nem található
- A megadott "Microsoft.NET.Sdk.Razor" SDK nem található
A probléma megoldásához próbálkozzon az alábbi lépésekkel:
Győződjön meg arról, hogy a
DOTNET_ROOTkörnyezeti változót véglegesen exportálja.Próbálja meg szimbolikusan összekapcsolni a illesztő
dotnetvégrehajtható fájlokat a program által keresett helyre.A parancs két gyakori elérési útját
dotnetkeresi:/usr/local/bin/dotnet/usr/share/dotnet
Az alábbi paranccsal hozzon létre egy szimbolikus hivatkozást a snap csomagra. A .NET 9-es és újabb verzióihoz használja a verzióspecifikus csomagnevet:
ln -s /snap/dotnet-sdk-100/current/dotnet /usr/local/bin/dotnet.NET 8 és korábbi verziók esetén:
ln -s /snap/dotnet-sdk/current/dotnet /usr/local/bin/dotnet
TLS-/SSL-tanúsítványhibák
Ha a .NET beépülő modulon keresztül van telepítve, előfordulhat, hogy egyes disztribúciókban a .NET TLS/SSL-tanúsítványok nem találhatók, és a következő időszakban restorehibaüzenet jelenhet meg:
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]
A probléma megoldásához állítson be néhány környezeti változót:
export SSL_CERT_FILE=[path-to-certificate-file]
export SSL_CERT_DIR=/dev/null
A tanúsítvány helye elosztás szerint változik. Az alábbiakban azoknak a disztribúcióknak a helyei találhatók, ahol a problémát észlelték:
| Disztribúció | Hely |
|---|---|
| Fedora | /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem |
| OpenSUSE | /etc/ssl/ca-bundle.pem |
| Solus | /etc/ssl/certs/ca-certificates.crt |