Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här artikeln beskrivs hur du installerar snappaketet .NET SDK. .NET SDK snap paket tillhandahålls av och underhålls av Canonical. Snaps är ett bra alternativ till pakethanteraren som är inbyggd i din Linux-distribution.
En snap är ett paket med en app och dess beroenden som fungerar i många olika Linux-distributioner. Snappar kan identifieras och installeras från Snap Store. Mer information om Snap finns i Kom igång.
Viktigt!
Om du installerar .NET med Snap kan du använda Snap för att hantera alla dina .NET installationer. Undvik att blanda Snap med andra installationsmetoder, till exempel en pakethanterare eller en skriptbaserad installation, eftersom det kan orsaka konflikter om man blandar metoderna.
Varning
Snapinstallationer av .NET kan ha problem med att köra .NET verktyg. Om du vill använda .NET verktyg rekommenderar vi att du installerar .NET med hjälp av skriptet dotnet-install eller pakethanteraren för den specifika Linux-distributionen.
Det är ett känt problem att kommandot dotnet watch inte fungerar när .NET installeras via Snap.
Om du ska använda .NET verktyg eller kommandot dotnet watch rekommenderar vi att du installerar .NET med hjälp av skriptet dotnet-install.
Förutsättningar
- Linux-distribution som stöder snap.
-
snapdsnap-daemonen.
Linux-distributionen kanske redan innehåller snap. Prova att köra snap från en terminal för att se om kommandot fungerar. En lista över Linux-distributioner som stöds och instruktioner för hur du installerar snap finns i Installera snapd.
.NET-utgåvor
Microsoft publicerar .NET under två olika supportprinciper, LTS (Long Term Support) och Standard Term Support (STS). Kvaliteten på alla utgåvor är densamma. Den enda skillnaden är supportens längd. LTS-versioner får kostnadsfri support och korrigeringar i tre år. STS-versioner får kostnadsfri support och korrigeringar i två år. Mer information finns i .NET supportpolicy.
De versioner av .NET som för närvarande stöds av Microsoft är:
- 10.0 (LTS)– Supporten upphör den 14 november 2028.
- 9.0 (STS)–Supporten upphör den 10 november 2026.
- 8.0 (LTS)– Supporten upphör den 10 november 2026.
Andra entiteter som skapar och släpper .NET kan införa olika supportprinciper. Kontrollera med dem hur .NET stöds.
1. Installera SDK
Om du vill installera .NET SDK använder du versionsspecifika snappaketidentifierare eftersom du med den här metoden kan installera och hantera flera SDK-versioner sida vid sida. Använd till exempel dotnet-sdk-80 för .NET 8 och dotnet-sdk-100 för .NET 10. SDK:et innehåller både ASP.NET Core och .NET runtime, med version anpassad till SDK:n. Den här artikeln använder snappaketet .NET 10 SDK. Om du använder ett annat paket ersätter du det.
Tips
Snapcraft .NET SDK-paketsidan (.NET 8, .NET 9.NET 10) innehåller distributionsspecifika instruktioner för hur du installerar Snapcraft och .NET.
Öppna en terminal.
Använd
snap installför att installera snappaketet .NET SDK.Följande kommando installerar .NET SDK 10:
sudo snap install dotnet-sdk-100
I följande tabell visas de .NET SDK snap-paket som du kan installera:
| .NET-version | Snap-paket |
|---|---|
| 10 (LTS) | dotnet-sdk-100 |
| 9 (STS) | dotnet-sdk-90 |
| 8 (LTS) | dotnet-sdk-80 |
2. Mappa dotnet-kommandot
Eftersom Snap inte skapar ett oversionerat dotnet kommando skapar du en symbolisk länk för att göra dotnet det tillgängligt för hela systemet. Skapa endast den här länken om du vill mappa dotnet kommandot till den här specifika snapinstallationen. Om du redan har .NET installerat via en annan metod och du skapar den här länken skriver den över mappningen.
Om /usr/local/bin/dotnet redan finns tar du bort den innan du skapar länken.
sudo ln -s /snap/dotnet-sdk-100/current/usr/bin/dotnet /usr/local/bin/dotnet
3. Exportera installationsplatsen
DOTNET_ROOT Konfigurera miljövariabeln i din gränssnittsprofil eftersom verktygen använder den för att avgöra var .NET är installerad. Snap-installationer ställer inte in den här variabeln automatiskt. Sökvägen använder följande format: /snap/{package}/current/usr/lib/dotnet.
export DOTNET_ROOT=/snap/dotnet-sdk-100/current/usr/lib/dotnet
Ersätt 100 med den SDK-version som du installerade, till exempel 80 för .NET 8 eller 90 för .NET 9.
Exportera miljövariabeln permanent
export Föregående kommando anger endast miljövariabeln för terminalsessionen där den kördes.
Du kan redigera shell-profilen för att permanent lägga till kommandona. Det finns många olika gränssnitt för Linux och var och en har en annan profil. Till exempel:
- Bash Shell: ~/.bash_profile, ~/.bashrc
- Korn Shell: ~/.kshrc eller .profile
- Z Shell: _~/.zshrc* eller .zprofile
Redigera lämplig källfil för gränssnittet, lägg till exportkommandot för din installerade .NET version och spara ändringarna.
Till exempel: export DOTNET_ROOT=/snap/dotnet-sdk-100/current/usr/lib/dotnet.
4. Använd .NET CLI
Öppna en terminal och kör dotnet kommandot.
dotnet
Följande utdata visas:
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.
Mer information om hur du använder .NET CLI finns i .NET CLI-översikt.
Felsökning
- Det går inte att installera Snap på WSL2
- Det går inte att lösa dotnet-kommandot eller SDK:t
- TLS/SSL-certifikatfel
Det går inte att installera Snap på WSL2
systemd måste aktiveras på WSL2-instansen innan Snap kan installeras.
Öppna
/etc/wsl.confi valfri textredigerare.Klistra in följande konfiguration:
[boot] systemd=trueSpara filen och starta om WSL2-instansen via PowerShell. Använd kommandot
wsl.exe --shutdown.
Kan inte identifiera dotnet-kommandot eller SDK:n
Det är vanligt att andra appar, till exempel en kod-IDE eller ett tillägg i Visual Studio Code, försöker lösa platsen för .NET SDK. Identifiering görs vanligtvis genom att kontrollera DOTNET_ROOT miljövariabeln eller ta reda på var den dotnet körbara filen finns. En snapinstallerad .NET SDK kan förvirra dessa appar. När dessa appar inte kan lösa .NET SDK visas ett fel som liknar något av följande meddelanden:
- SDK:t Microsoft.NET. Det gick inte att hitta den angivna Sdk:en
- SDK:t 'Microsoft.NET.Sdk.Web' kunde inte hittas.
- SDK:n 'Microsoft.NET.Sdk.Razor' kunde inte hittas
Prova följande steg för att åtgärda problemet:
- Slutför 2. Mappa dotnet-kommandot.
-
DOTNET_ROOTAnge miljövariabeln permanent genom att följa Exportera miljövariabeln permanent.
TLS/SSL-certifikatfel
När .NET installeras via Snap är det möjligt att .NET TLS/SSL-certifikat på vissa distributioner kanske inte hittas och du kan få ett fel under restore:
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]
Lös problemet genom att ange några miljövariabler:
export SSL_CERT_FILE=[path-to-certificate-file]
export SSL_CERT_DIR=/dev/null
Certifikatplatsen varierar beroende på distribution. Här är platserna för de distributioner där problemet har observerats:
| Distribution | Plats |
|---|---|
| Fedora | /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem |
| OpenSUSE | /etc/ssl/ca-bundle.pem |
| Solus | /etc/ssl/certs/ca-certificates.crt |