Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk a .NET SDK beépülő csomag telepítését ismerteti. .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 snap egy alkalmazás és annak függőségeinek csomagja, amely számos különböző Linux-disztribúcióban működik. A snap-ek felderíthetők és telepíthetők a Snap Store-ból. A Snap szolgáltatással kapcsolatos további információkért lásd: Első lépések.
Fontos
Ha a .NET-et Snap-pel telepíti, az összes .NET-telepítés kezelésére a Snapet használja. Ne keverje a Snapet más telepítési módszerekkel, például a csomagkezelővel vagy a szkriptelt telepítéssel, mert a keverési módszerek ütközéseket okozhatnak.
Figyelemfelhívás
A .NET Snap telepítésekkel problémák merülhetnek fel, amikor .NET eszközöket futtatnak. Ha .NET eszközöket szeretne használni, javasoljuk, hogy telepítse a .NET a dotnet-install szkript vagy az adott Linux-disztribúció csomagkezelőjével.
Ismert probléma, hogy a dotnet watch parancs nem működik, ha a .NET Snapen keresztül van telepítve.
Ha .NET eszközöket vagy a dotnet watch parancsot használja, javasoljuk, hogy telepítse a .NET a dotnet-install szkript használatával.
Előfeltételek
- A snapet támogató Linux-disztribúció.
-
snapda snap démon.
Előfordulhat, hogy a Linux-disztribúció már tartalmazza a snapet. Próbálja meg futtatni a snap parancsot egy terminálban, hogy meggyőződjön, működik-e. 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 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é .NET. 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ó: .NET támogatási szabályzat.
A Microsoft által jelenleg támogatott .NET verziói 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.
Más entitások, amelyek .NET építenek és bocsátanak ki, különböző támogatási szabályzatokat vezetnek be. Győződjön meg arról, hogy megkérdezi őket, hogy megértse, hogyan támogatják a .NET-et.
1. Az SDK telepítése
A .NET SDK telepítéséhez használjon verzióspecifikus illesztőcsomag-azonosítókat, mivel ezzel a módszerrel több SDK-verziót is telepíthet és kezelhet egymás mellett. Például használja a dotnet-sdk-80 elemet a .NET 8-hoz, a dotnet-sdk-100 elemet pedig a .NET 10-hez. Az SDK tartalmazza az SDK-ra verziószámozott ASP.NET Core és .NET futtatókörnyezetet is. Ez a cikk a .NET 10 SDK illesztési csomagot használja; ha másik csomagot használ, cserélje le.
Tipp
A Snapcraft .NET SDK csomag oldala (.NET 8, .NET 9, .NET 10) a Snapcraft és a .NET telepítésére vonatkozó, terjesztési specifikus utasításokat tartalmaz.
Nyisson meg egy terminált.
A .NET SDK snap csomag telepítéséhez használja a
snap install.A következő parancs telepíti .NET SDK 10-et:
sudo snap install dotnet-sdk-100
Az alábbi táblázat felsorolja a telepíthető .NET SDK-illesztőcsomagokat:
| .NET verzió | Snap csomag |
|---|---|
| 10 (LTS) | dotnet-sdk-100 |
| 9 (STS) | dotnet-sdk-90 |
| 8 (LTS) | dotnet-sdk-80 |
2. A dotnet parancs leképezése
Mivel a Snap nem hoz létre verzió nélküli dotnet parancsot, hozzon létre egy szimbolikus hivatkozást, hogy a dotnet rendszerszinten elérhető legyen. Csak akkor hozza létre ezt a linket, ha a dotnet parancsot ehhez a konkrét Snap-telepítéshez szeretné rendelni. Ha a .NET már más módon van telepítve, és létrehozza ezt a hivatkozást, az felülírja azt a hozzárendelést.
Ha /usr/local/bin/dotnet már létezik, távolítsa el a hivatkozást a hivatkozás létrehozása előtt.
sudo ln -s /snap/dotnet-sdk-100/current/usr/bin/dotnet /usr/local/bin/dotnet
3. A telepítési hely exportálása
Konfigurálja a(z) DOTNET_ROOT környezeti változót a rendszerhéjprofiljában, mert az eszközök ezt használják annak megállapítására, hogy hol van telepítve a .NET. A Snap-telepítések nem állítják be ezt a változót automatikusan. Az elérési út a következő formátumot használja: /snap/{package}/current/usr/lib/dotnet.
export DOTNET_ROOT=/snap/dotnet-sdk-100/current/usr/lib/dotnet
Cserélje le 100 a telepített SDK-verzióra, például 80 a .NET 8-as vagy 90 .NET 9-es verziójára.
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ő shell é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 rendszerhéj megfelelő forrásfájlját, adja hozzá a telepített .NET verzió exportálási parancsát, és mentse a módosításokat.
Például: export DOTNET_ROOT=/snap/dotnet-sdk-100/current/usr/lib/dotnet.
4. A .NET parancssori felület használata
Nyisson meg egy terminált, és futtassa a dotnet parancsot.
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 parancssori felület használatáról a .NET parancssori felület áttekintésében olvashat.
Hibaelhárítás
- Nem telepíthető a Snap on WSL2
- A dotnet parancs vagy az SDK nem oldható fel
- TLS-/SSL-tanúsítványhibák
Nem telepíthető a Snap on WSL2
A Snap telepítése előtt engedélyezni kell a systemd a WSL2-n.
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 a
wsl.exe --shutdownparancsot.
A dotnet parancs vagy az SDK nem oldható fel
Más alkalmazások, például egy kódfejlesztő környezet vagy a Visual Studio Code bővítményei esetében gyakori, hogy megpróbálják meghatározni 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 'Microsoft.NET.Sdk.Razor' megadott SDK nem található.
A probléma megoldásához próbálkozzon az alábbi lépésekkel:
- Fejezze be a 2. a dotnet parancs hozzárendelése lépést.
- A
DOTNET_ROOTkörnyezeti változó végleges beállításához kövesse a környezeti változó végleges exportálása című részt.
TLS-/SSL-tanúsítványhibák
Ha .NET beépülő modulon keresztül van telepítve, előfordulhat, hogy egyes disztribúciókban nem találhatók a .NET TLS/SSL-tanúsítványok, és a restore során hibaü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ó | Lokáció |
|---|---|
| Fedora | /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem |
| OpenSUSE | /etc/ssl/ca-bundle.pem |
| Solus | /etc/ssl/certs/ca-certificates.crt |
Kapcsolódó tartalom
- .NET parancssori felület áttekintése
- Hogyan lehet engedélyezni a TAB kiegészítést a .NET CLI-hez.
Tutorial: Konzolalkalmazás létrehozása .NET