Instalar o SDK .NET ou o .NET Runtime no Ubuntu
O .NET é suportado no Ubuntu. Este artigo descreve como instalar o .NET no Ubuntu. Quando uma versão do Ubuntu fica sem suporte, o .NET já não é suportado com essa versão.
Instale o SDK (que inclui o runtime) se quiser desenvolver aplicações .NET. Em alternativa, se apenas precisar de executar aplicações, instale o Runtime. Se estiver a instalar o Runtime, sugerimos que instale o ASP.NET Core Runtime, uma vez que inclui runtimes de .NET e ASP.NET Core.
Utilize os dotnet --list-sdks
comandos e dotnet --list-runtimes
para ver que versões estão instaladas. Para obter mais informações, veja Como verificar se o .NET já está instalado.
Importante
As instalações do gestor de pacotes só são suportadas na arquitetura x64 . Outras arquiteturas, como o Arm, têm de instalar o .NET por outros meios, como com o Snap, um script do instalador ou através de uma instalação binária manual.
Para obter mais informações sobre como instalar o .NET sem um gestor de pacotes, veja um dos seguintes artigos:
- Em alternativa, instale o .NET com o Snap.
- Em alternativa, instale o .NET com
install-dotnet
script. - Instalar manualmente o .NET
Distribuições suportadas
A tabela seguinte é uma lista de versões .NET atualmente suportadas e as versões do Ubuntu em que são suportadas.
Ubuntu | .NET |
---|---|
22.10 | 7, 6 |
22.04 (LTS) | 7, 6 |
20.04 (LTS) | 7, 6 |
18.04 (LTS) | 7, 6 |
16.04 (LTS) | 6 |
As seguintes versões do .NET já não são ❌ suportadas:
- .NET 5
- .NET Core 3.1
- .NET Core 3.0
- .NET Core 2.2
- .NET Core 2.1
- .NET Core 2.0
Instalar versões de pré-visualização
As versões de pré-visualização e lançamento de candidatos do .NET não estão disponíveis nos gestores de pacotes. Pode instalar pré-visualizações e lançar candidatos do .NET de uma das seguintes formas:
Remover versões de pré-visualização
Ao utilizar um gestor de pacotes para gerir a instalação do .NET, poderá deparar-se com um conflito se tiver instalado anteriormente uma versão de pré-visualização. O gestor de pacotes pode interpretar a versão não pré-visualização como uma versão anterior do .NET. Para instalar a versão sem pré-visualização, desinstale primeiro as versões de pré-visualização. Para obter mais informações sobre a desinstalação do .NET, veja Como remover o .NET Runtime e o SDK.
22.10
Importante
O .NET 7 ainda não está pronto no feed Ubuntu e só está disponível através dos feeds da Microsoft. No entanto, o .NET 6 está disponível no feed Ubuntu 22.10. Estas instruções demonstram como instalar o .NET 7 através do feed do gestor de pacotes da Microsoft.
A instalação com a APT pode ser feita com alguns comandos. Antes de instalar o .NET, execute os seguintes comandos para adicionar a chave de assinatura do pacote Microsoft à sua lista de chaves fidedignas e adicionar o repositório de pacotes.
Abra um terminal e execute os seguintes comandos:
wget https://packages.microsoft.com/config/ubuntu/22.10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
Instalar o SDK
O SDK .NET permite-lhe desenvolver aplicações com .NET. Se instalar o SDK .NET, não precisa de instalar o runtime correspondente. Para instalar o SDK .NET, execute os seguintes comandos:
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-7.0
Importante
Se receber uma mensagem de erro semelhante a Não é possível localizar o pacote dotnet-sdk-7.0, consulte a secção resolução de problemas .
Instalar o runtime
O ASP.NET Core Runtime permite-lhe executar aplicações que foram criadas com o .NET que não forneceram o runtime. Os comandos seguintes instalam o ASP.NET Core Runtime, que é o runtime mais compatível para .NET. No terminal, execute os seguintes comandos:
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-7.0
Importante
Se receber uma mensagem de erro semelhante a Não é possível localizar o pacote aspnetcore-runtime-7.0, consulte a secção resolução de problemas .
Como alternativa ao ASP.NET Core Runtime, pode instalar o .NET Runtime, que não inclui ASP.NET Core suporte: substitua aspnetcore-runtime-7.0
no comando anterior por dotnet-runtime-7.0
:
sudo apt-get install -y dotnet-runtime-7.0
Nota
O Ubuntu 22.10 inclui o OpenSSL 3 como a versão de linha de base. As versões do .NET anteriores ao .NET 6 não suportam o OpenSSL 3. A Microsoft não testa nem suporta a utilização do OpenSSL 1.x no Ubuntu 22.10. Para obter mais informações, veja Melhorias de Segurança do .NET 6.
22.04
Aviso
Se tiver instalado anteriormente o .NET a partir do packages.microsoft.com
, poderá ter problemas ao trocar para os feeds incorporados do gestor de pacotes do Ubuntu para .NET. Para obter mais informações, veja Aconselhamento sobre como instalar o .NET no Ubuntu e Resolver problemas de misturas de pacotes .NET.
O .NET 6 está incluído nos feeds do gestor de pacotes do Ubuntu 22.04.
Importante
O .NET 7 não está incluído nos feeds do Ubuntu e tem de utilizar o feed de pacotes da Microsoft 22.04.
Instalar o SDK
O SDK .NET permite-lhe desenvolver aplicações com .NET. Se instalar o SDK .NET, não precisa de instalar o runtime correspondente. Para instalar o SDK .NET, execute os seguintes comandos:
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-6.0
Instalar o runtime
O ASP.NET Core Runtime permite-lhe executar aplicações que foram criadas com o .NET que não forneceram o runtime. Os comandos seguintes instalam o ASP.NET Core Runtime, que é o runtime mais compatível para .NET. No terminal, execute os seguintes comandos:
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-6.0
Como alternativa ao ASP.NET Core Runtime, pode instalar o .NET Runtime, que não inclui ASP.NET Core suporte: substitua aspnetcore-runtime-6.0
no comando anterior por dotnet-runtime-6.0
:
sudo apt-get install -y dotnet-runtime-6.0
22.04 (feed de pacotes da Microsoft)
Importante
O .NET 6 está incluído nos feeds do gestor de pacotes do Ubuntu 22.04, mas o .NET 7 não. Para instalar o .NET 7, tem de utilizar o feed de pacotes da Microsoft. Se tiver instalado anteriormente o .NET a partir do feed do gestor de pacotes do Ubuntu, poderá ter problemas ao trocar para o feed do gestor de pacotes da Microsoft para .NET. Para obter mais informações, veja Aconselhamento sobre como instalar o .NET no Ubuntu e Resolver problemas de misturas de pacotes .NET.
A instalação com a APT pode ser feita com alguns comandos. Antes de instalar o .NET, execute os seguintes comandos para adicionar a chave de assinatura do pacote Microsoft à sua lista de chaves fidedignas e adicionar o repositório de pacotes.
Abra um terminal e execute os seguintes comandos:
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
Instalar o SDK
O SDK .NET permite-lhe desenvolver aplicações com o .NET. Se instalar o SDK .NET, não precisa de instalar o runtime correspondente. Para instalar o SDK .NET, execute os seguintes comandos:
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-7.0
Importante
Se receber uma mensagem de erro semelhante a Não é possível localizar o pacote dotnet-sdk-7.0, veja a secção de resolução de problemas .
Instalar o runtime
O ASP.NET Core Runtime permite-lhe executar aplicações que foram criadas com o .NET que não forneceram o runtime. Os seguintes comandos instalam o ASP.NET Core Runtime, que é o runtime mais compatível para o .NET. No terminal, execute os seguintes comandos:
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-7.0
Importante
Se receber uma mensagem de erro semelhante a Não é possível localizar o pacote aspnetcore-runtime-7.0, veja a secção de resolução de problemas .
Como alternativa ao ASP.NET Core Runtime, pode instalar o .NET Runtime, que não inclui ASP.NET Core suporte: substitua aspnetcore-runtime-7.0
no comando anterior por dotnet-runtime-7.0
:
sudo apt-get install -y dotnet-runtime-7.0
Nota
O Ubuntu 22.04 inclui o OpenSSL 3 como a versão de linha de base. As versões do .NET anteriores ao .NET 6 não suportam o OpenSSL 3. A Microsoft não testa nem suporta a utilização do OpenSSL 1.x no Ubuntu 22.10. Para obter mais informações, veja Melhoramentos de Segurança do .NET 6.
20.04
A instalação com a APT pode ser feita com alguns comandos. Antes de instalar o .NET, execute os seguintes comandos para adicionar a chave de assinatura do pacote Microsoft à sua lista de chaves fidedignas e adicione o repositório de pacotes.
Abra um terminal e execute os seguintes comandos:
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
Instalar o SDK
O SDK .NET permite-lhe desenvolver aplicações com o .NET. Se instalar o SDK .NET, não precisa de instalar o runtime correspondente. Para instalar o SDK .NET, execute os seguintes comandos:
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-6.0
Importante
Se receber uma mensagem de erro semelhante a Não é possível localizar o pacote dotnet-sdk-6.0, veja a secção de resolução de problemas .
Instalar o runtime
O ASP.NET Core Runtime permite-lhe executar aplicações que foram criadas com o .NET que não forneceram o runtime. Os seguintes comandos instalam o ASP.NET Core Runtime, que é o runtime mais compatível para o .NET. No terminal, execute os seguintes comandos:
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-6.0
Importante
Se receber uma mensagem de erro semelhante a Não é possível localizar o pacote aspnetcore-runtime-6.0, veja a secção de resolução de problemas .
Como alternativa ao ASP.NET Core Runtime, pode instalar o .NET Runtime, que não inclui ASP.NET Core suporte: substitua aspnetcore-runtime-6.0
no comando anterior por dotnet-runtime-6.0
:
sudo apt-get install -y dotnet-runtime-6.0
18.04
A instalação com a APT pode ser feita com alguns comandos. Antes de instalar o .NET, execute os seguintes comandos para adicionar a chave de assinatura do pacote Microsoft à sua lista de chaves fidedignas e adicione o repositório de pacotes.
Abra um terminal e execute os seguintes comandos:
wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
Instalar o SDK
O SDK .NET permite-lhe desenvolver aplicações com o .NET. Se instalar o SDK .NET, não precisa de instalar o runtime correspondente. Para instalar o SDK .NET, execute os seguintes comandos:
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-6.0
Importante
Se receber uma mensagem de erro semelhante a Não é possível localizar o pacote dotnet-sdk-6.0, veja a secção de resolução de problemas .
Instalar o runtime
O ASP.NET Core Runtime permite-lhe executar aplicações que foram criadas com o .NET que não forneceram o runtime. Os seguintes comandos instalam o ASP.NET Core Runtime, que é o runtime mais compatível para o .NET. No terminal, execute os seguintes comandos:
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-6.0
Importante
Se receber uma mensagem de erro semelhante a Não é possível localizar o pacote aspnetcore-runtime-6.0, veja a secção de resolução de problemas .
Como alternativa ao ASP.NET Core Runtime, pode instalar o .NET Runtime, que não inclui ASP.NET Core suporte: substitua aspnetcore-runtime-6.0
no comando anterior por dotnet-runtime-6.0
:
sudo apt-get install -y dotnet-runtime-6.0
16.04
A instalação com a APT pode ser feita com alguns comandos. Antes de instalar o .NET, execute os seguintes comandos para adicionar a chave de assinatura do pacote Microsoft à sua lista de chaves fidedignas e adicione o repositório de pacotes.
Abra um terminal e execute os seguintes comandos:
wget https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
Instalar o SDK
O SDK .NET permite-lhe desenvolver aplicações com o .NET. Se instalar o SDK .NET, não precisa de instalar o runtime correspondente. Para instalar o SDK .NET, execute os seguintes comandos:
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-6.0
Importante
Se receber uma mensagem de erro semelhante a Não é possível localizar o pacote dotnet-sdk-6.0, veja a secção de resolução de problemas .
Instalar o runtime
O ASP.NET Core Runtime permite-lhe executar aplicações que foram criadas com o .NET que não forneceram o runtime. Os seguintes comandos instalam o ASP.NET Core Runtime, que é o runtime mais compatível para o .NET. No terminal, execute os seguintes comandos:
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-6.0
Importante
Se receber uma mensagem de erro semelhante a Não é possível localizar o pacote aspnetcore-runtime-6.0, veja a secção de resolução de problemas .
Como alternativa ao ASP.NET Core Runtime, pode instalar o .NET Runtime, que não inclui ASP.NET Core suporte: substitua aspnetcore-runtime-6.0
no comando anterior por dotnet-runtime-6.0
:
sudo apt-get install -y dotnet-runtime-6.0
Como instalar outras versões
Todas as versões do .NET estão disponíveis para transferência em https://dotnet.microsoft.com/download/dotnet, mas requerem instalação manual. Pode tentar utilizar o gestor de pacotes para instalar uma versão diferente do .NET. No entanto, a versão pedida pode não estar disponível.
Os pacotes adicionados aos feeds do gestor de pacotes têm o nome num formato hackeável, por exemplo: {product}-{type}-{version}
.
produto
O tipo de produto .NET a instalar. As opções válidas são:- dotnet
- aspnetcore
tipo
Escolhe o SDK ou o runtime. As opções válidas são:- sdk
- runtime
versão
A versão do SDK ou do runtime a instalar. Este artigo fornecerá sempre as instruções para a versão suportada mais recente. As opções válidas são qualquer versão lançada, como:- 7.0
- 5.0
- 3,1
- 2.1
É possível que o SDK/runtime que está a tentar transferir não esteja disponível para a distribuição do Linux. Para obter uma lista de distribuições suportadas, veja Instalar o .NET no Linux.
Exemplos
- Instale o runtime do ASP.NET Core 7.0:
aspnetcore-runtime-7.0
- Instale o runtime do .NET Core 2.1:
dotnet-runtime-2.1
- Instale o SDK .NET 5:
dotnet-sdk-5.0
- Instale o SDK .NET Core 3.1:
dotnet-sdk-3.1
Pacote em falta
Se a combinação da versão do pacote não funcionar, não estará disponível. Por exemplo, não existe um SDK ASP.NET Core, os componentes do SDK são incluídos no SDK .NET. O valor aspnetcore-sdk-7.0
está incorreto e deve ser dotnet-sdk-7.0
. Para obter uma lista de distribuições do Linux suportadas pelo .NET, veja Dependências e requisitos do .NET.
Utilizar o APT para atualizar o .NET
Quando está disponível uma nova versão de patch para .NET, pode simplesmente atualizá-la através do APT com os seguintes comandos:
sudo apt-get update
sudo apt-get upgrade
Se atualizou a distribuição do Linux desde que instalou o .NET, poderá ter de reconfigurar o repositório de pacotes da Microsoft. Execute as instruções de instalação da versão de distribuição atual para atualizar para o repositório de pacotes adequado para atualizações de .NET.
Resolução de problemas
A partir do Ubuntu 22.04, poderá deparar-se com uma situação em que parece que apenas uma parte do .NET está disponível. Por exemplo, quando tiver instalado o runtime e o SDK, mas ao executar dotnet --info
o SDK não está listado. Isto pode estar relacionado com a utilização de duas origens de pacote diferentes. Os feeds de pacotes oficiais Ubuntu 22.04 e Ubuntu 22.10 incluem .NET, mas também pode ter instalado o .NET a partir dos feeds da Microsoft. Para obter mais informações sobre como corrigir este problema, veja Resolver problemas de erros de fxr, libhostfxr.so e FrameworkList.xml
Problemas da APT
Esta secção fornece informações sobre erros comuns que pode obter durante a utilização do APT para instalar o .NET.
Não é possível localizar o pacote
Importante
As instalações do gestor de pacotes só são suportadas na arquitetura x64 . Outras arquiteturas, como o Arm, têm de instalar o .NET por outros meios, como com o Snap, um script do instalador ou através de uma instalação binária manual.
Para obter mais informações sobre como instalar o .NET sem um gestor de pacotes, veja um dos seguintes artigos:
- Em alternativa, instale o .NET com o Snap.
- Em alternativa, instale o .NET com
install-dotnet
script. - Instalar manualmente o .NET
Não foi possível localizar \ Não foi possível instalar alguns pacotes
Nota
Estas informações só se aplicam quando o .NET é instalado a partir do feed de pacotes da Microsoft.
Se receber uma mensagem de erro semelhante a Não é possível localizar o pacote {dotnet-package} ou Não foi possível instalar Alguns pacotes, execute os seguintes comandos.
Existem dois marcadores de posição no seguinte conjunto de comandos.
{dotnet-package}
Isto representa o pacote .NET que está a instalar, comoaspnetcore-runtime-7.0
. Isto é utilizado no seguintesudo apt-get install
comando.{os-version}
Isto representa a versão de distribuição em que se está a ligar. Isto é utilizado nowget
comando abaixo. A versão de distribuição é o valor numérico, como20.04
no Ubuntu ou10
no Debian.
Primeiro, experimente remover a lista de pacotes:
sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
Em seguida, tente instalar o .NET novamente. Se isso não funcionar, pode executar uma instalação manual com os seguintes comandos:
sudo apt-get install -y gpg
wget -O - https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
wget https://packages.microsoft.com/config/ubuntu/{os-version}/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update && \
sudo apt-get install -y {dotnet-package}
Falha ao obter
Ao instalar o pacote .NET, poderá ver um erro semelhante a Failed to fetch ... File has unexpected size ... Mirror sync in progress?
. Este erro pode significar que o feed de pacotes para .NET está a ser atualizado com versões de pacote mais recentes e que deve tentar novamente mais tarde. Durante uma atualização, o feed de pacotes não deve ficar indisponível durante mais de 30 minutos. Se receber continuamente este erro durante mais de 30 minutos, submeta um problema em https://github.com/dotnet/core/issues.
Dependências
Quando instala com um gestor de pacotes, estas bibliotecas são instaladas automaticmente. No entanto, se instalar manualmente o .NET ou publicar uma aplicação autónoma, terá de se certificar de que estas bibliotecas estão instaladas:
- libc6
- libgcc1
- libgcc-s1 (para 22.x)
- libgssapi-krb5-2
- libicu52 (para 14,x)
- libicu55 (para 16,x)
- libicu60 (para 18.x)
- libicu66 (para 20.x)
- libicu70 (para 22,04)
- libicu71 (para 22,10)
- liblttng-ust1 (para 22.x)
- libssl1.0.0 (para 14.x, 16.x)
- libssl1.1 (para 18.x, 20.x)
- libssl3 (para 22.x)
- libstdc++6
- libunwind8 (para 22.x)
- zlib1g
Para aplicações .NET que utilizam a assemblagem System.Drawing.Common , também precisa da seguinte dependência:
libgdiplus (versão 6.0.1 ou posterior)
Aviso
Pode instalar uma versão recente do libgdiplus ao adicionar o repositório Mono ao seu sistema. Para obter mais informações, consulte https://www.mono-project.com/download/stable/.