Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo descreve como instalar o pacote snap do .NET SDK. Os pacotes snap do .NET SDK são fornecidos e mantidos pela Canonical. Os snaps são uma ótima alternativa ao gerenciador de pacotes integrado à sua distribuição Linux.
Um snap é um pacote de um aplicativo e suas dependências que funciona em muitas distribuições Linux diferentes. Os snaps podem ser descobertos e instalados a partir da Snap Store. Para obter mais informações sobre o Snap, consulte Visita guiada de iniciação rápida.
Atenção
As instalações snap de .NET podem ter problemas ao executar ferramentas .NET. Se desejar usar .NET ferramentas, recomendamos que instale .NET usando o script dotnet-install ou o gestor de pacotes da distribuição Linux em questão.
É um problema conhecido que o comando dotnet watch não funciona quando .NET é instalado via Snap.
Se vais usar .NET ferramentas ou o comando dotnet watch, recomendamos que instales .NET usando o script dotnet-install.
Pré-requisitos
- Distribuição Linux que suporta snap.
-
snapdo daemon do snap.
Sua distribuição Linux já pode incluir snap. Tente executar snap a partir de um terminal para ver se o comando funciona. Para obter uma lista de distribuições Linux suportadas e instruções sobre como instalar o snap, consulte Instalaçãosnapd.
Lançamentos .NET
A Microsoft publica .NET sob duas políticas de suporte diferentes, Suporte a Longo Prazo (LTS) e Suporte a Prazo Padrão (STS). A qualidade de todos os lançamentos é a mesma. A única diferença é a duração do apoio. As versões LTS recebem suporte e patches gratuitos por três anos. As versões STS recebem suporte e patches gratuitos por dois anos. Para mais informações, consulte .NET Política de Apoio.
As versões do .NET atualmente suportadas pela Microsoft são:
- 10.0 (LTS) — O suporte termina em 14 de novembro de 2028.
- 9.0 (STS) — O suporte termina em 10 de novembro de 2026.
- 8.0 (LTS) — O suporte termina em 10 de novembro de 2026.
Outras entidades que desenvolvem e lançam .NET podem introduzir políticas de suporte diferentes. Certifique-se de verificar com eles para perceber como o .NET é suportado.
1. Instale o SDK
Importante
.NET 10 foi lançado a 11 de novembro de 2025. Pode levar algum tempo para que os pacotes apareçam nos feeds do gerenciador de pacotes ou para que sua distribuição Linux específica o inclua.
A partir do .NET 9, os pacotes snap para o SDK .NET são publicados sob identificadores específicos de versão (por exemplo, dotnet-sdk-90 para .NET 9 e dotnet-sdk-100 para .NET 10). Antes de .NET 9, todas as versões do SDK eram publicadas sob o mesmo identificador dotnet-sdk, e especificavas a versão através de um canal. Além disso, os pacotes snap .NET 9 e posteriores suportam tanto as arquiteturas x64 como Arm64, enquanto versões anteriores apenas suportam x64. O SDK inclui tanto o ASP.NET Core como o runtime .NET, versionados para o SDK.
Gorjeta
A página do pacote SDK Snapcraft .NET inclui instruções específicas para distribuição sobre como instalar o Snapcraft e o .NET.
Abra um terminal.
Usa
snap installpara instalar o pacote snap do SDK .NET.O parâmetro
--classicé obrigatório.Para .NET 9 e posteriores
Instale o pacote específico da versão. Por exemplo, o seguinte comando instala o .NET SDK 10:
sudo snap install dotnet-sdk-100 --classicPara .NET 8 e anteriores
Instale a partir do
dotnet-sdkpacote e especifique um canal. Se este parâmetro for omitido,latest/stableé usado. Por exemplo, o seguinte comando instala o .NET SDK 8:sudo snap install dotnet-sdk --classic --channel 8.0/stable
O dotnet alias de snap é criado automaticamente e mapeado para o comando do pacote snap dotnet .
A tabela a seguir lista os pacotes snap e os canais que podem ser instalados:
| Versão .NET | Pacote ou canal Snap |
|---|---|
| 10 (LTS) |
dotnet-sdk-100 (pré-visualização) |
| 9 (STS) | dotnet-sdk-90 |
| 8 (LTS) | dotnet-sdk --channel 8.0/stable |
| 7 |
dotnet-sdk --channel 7.0/stable (sem apoio) |
| 6 |
dotnet-sdk --channel 6.0/stable (sem apoio) |
| 5 |
dotnet-sdk --channel 5.0/stable (sem apoio) |
| 3.1 |
dotnet-sdk --channel 3.1/stable (sem apoio) |
| 2.1 |
dotnet-sdk --channel 2.1/stable (sem apoio) |
2. Exporte o local de instalação
A variável de ambiente DOTNET_ROOT é frequentemente usada por ferramentas para determinar onde .NET está instalado. Quando o .NET é instalado através do Snap, esta variável de ambiente não está configurada. Você deve configurar a variável de ambiente DOTNET_ROOT em seu perfil. O caminho para o snap segue o seguinte formato: /snap/{package}/current.
Para .NET 9 e posteriores, use o nome específico do pacote da versão:
export DOTNET_ROOT=/snap/dotnet-sdk-100/current
Para .NET 8 e anteriores, use o nome partilhado do pacote:
export DOTNET_ROOT=/snap/dotnet-sdk/current
Exportar a variável de ambiente permanentemente
O comando anterior export define apenas a variável de ambiente para a sessão de terminal em que foi executado.
Você pode editar seu perfil de shell para adicionar permanentemente os comandos. Existem muitos shells diferentes disponíveis para Linux e cada um tem um perfil diferente. Por exemplo:
- Bash Shell: ~/.bash_profile, ~/.bashrc
- Korn Shell: ~/.kshrc ou .profile
- Z Shell: _~/.zshrc* ou .zprofile
Edita o ficheiro fonte apropriado para o teu shell e adiciona o comando export para a versão .NET instalada. Para .NET 9+, use export DOTNET_ROOT=/snap/dotnet-sdk-100/current (ajuste o número da versão conforme necessário). Para .NET 8 e anteriores, use export DOTNET_ROOT=/snap/dotnet-sdk/current.
3. Usar a CLI .NET
Abra um terminal e digite dotnet.
dotnet
A seguinte saída é exibida:
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.
Para aprender a usar a CLI .NET, veja .NET CLI Overview.
Resolução de Problemas
- O comando dotnet terminal não funciona
- Não é possível instalar o Snap no WSL2
- Não é possível resolver o comando dotnet ou SDK
- Erros de certificado TLS/SSL
O comando dotnet terminal não funciona
Os pacotes Snap podem mapear um alias para um comando fornecido pelo pacote. Por padrão, os pacotes snap do SDK .NET criam um alias para o comando dotnet. Se o alias não tiver sido criado ou tiver sido removido anteriormente, use o seguinte comando para mapear o alias.
Para .NET 9 e posteriores:
sudo snap alias dotnet-sdk-100.dotnet dotnet
Para .NET 8 e anteriores:
sudo snap alias dotnet-sdk.dotnet dotnet
Não é possível instalar o Snap no WSL2
systemd deve estar habilitado na instância WSL2 antes que o Snap possa ser instalado.
Abra
/etc/wsl.confem um editor de texto de sua escolha.Cole a configuração a seguir:
[boot] systemd=trueSalve o arquivo e reinicie a instância do WSL2 por meio do PowerShell. Utilize o comando
wsl.exe --shutdown.
Não é possível resolver o comando dotnet ou SDK
É comum que outras aplicações, como um IDE de código ou uma extensão no Visual Studio Code, tentem resolver a localização do SDK .NET. Normalmente, a descoberta é feita verificando a DOTNET_ROOT variável de ambiente ou descobrindo onde o dotnet executável está localizado. Um SDK .NET instalado através do Snap pode confundir estas aplicações. Quando estas aplicações não conseguem resolver o SDK .NET, é exibido um erro semelhante a uma das seguintes mensagens:
- O SDK 'Microsoft.NET. Sdk' especificado não foi possível encontrar
- O SDK 'Microsoft.NET. Sdk.Web' especificado não foi possível encontrar
- O SDK 'Microsoft.NET. Sdk.Razor' especificado não foi possível encontrar
Tente as seguintes etapas para corrigir o problema:
Certifique-se de exportar a
DOTNET_ROOTvariável de ambiente permanentemente.Tente vincular simbolicamente o executável de snap
dotnetao local que o programa está procurando.Dois caminhos comuns que o
dotnetcomando está procurando são:/usr/local/bin/dotnet/usr/share/dotnet
Utilize o comando a seguir para criar um link simbólico para o pacote snap. Para .NET 9 e posteriores, use o nome específico do pacote da versão:
ln -s /snap/dotnet-sdk-100/current/dotnet /usr/local/bin/dotnetPara .NET 8 e anteriores:
ln -s /snap/dotnet-sdk/current/dotnet /usr/local/bin/dotnet
Erros de certificado TLS/SSL
Quando .NET é instalado através do Snap, é possível que, em algumas distribuições, os certificados TLS/SSL de .NET não sejam encontrados e possa receber um erro durante 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]
Para resolver esse problema, defina algumas variáveis de ambiente:
export SSL_CERT_FILE=[path-to-certificate-file]
export SSL_CERT_DIR=/dev/null
A localização do certificado varia de acordo com a distribuição. Aqui estão os locais para as distribuições onde o problema foi observado:
| Distribuição | Localização |
|---|---|
| Fedora | /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem |
| OpenSUSE | /etc/ssl/ca-bundle.pem |
| Solus | /etc/ssl/certs/ca-certificates.crt |