Instalar o SDK do .NET ou o Runtime do .NET no Fedora

O .NET tem suporte no Fedora e este artigo descreve como instalar o .NET no Fedora. Quando uma versão do Fedora fica sem suporte, o .NET deixa de ter suporte naquela versão.

Instale o SDK (que inclui o runtime) se quiser desenvolver aplicativos .NET. Ou, se você precisar apenas executar aplicativos, instale o runtime. Se você estiver instalando o runtime, sugerimos que você instale o Runtime do ASP.NET Core, pois ele inclui runtimes do .NET e do ASP.NET Core.

Use os comandos dotnet --list-sdks e dotnet --list-runtimes para ver quais versões estão instaladas. Para obter mais informações, confira Como verificar se o .NET já está instalado.

Para obter mais informações de como instalar o .NET sem um gerenciador de pacotes, confira um dos seguintes artigos:

Distribuições com suporte

A tabela a seguir é uma lista de versões do .NET com suporte no momento e as versões do Fedora nas quais há suporte. Essas versões permanecerão com suporte até que a versão do .NET atinja o fim do suporte ou que a versão do Fedora atinja o fim da vida útil.

Fedora .NET
39 8, 7, 6
38 8, 7, 6
37 8, 7, 6

Não ❌ há mais suporte para as seguintes versões do .NET:

  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

Instalar o .NET 8

Importante

O .NET 8 foi lançado em 14 de novembro de 2023. Os pacotes podem levar algum tempo para serem exibidos nos feeds do gerenciador de pacotes.

Instalar o SDK

O SDK do .NET permite que você desenvolva aplicativos com o .NET. Se você instalar o SDK do .NET, não será necessário instalar o runtime correspondente. Para instalar o SDK do .NET, execute o seguinte comando:

sudo dnf install dotnet-sdk-8.0

Instalar o runtime

O Runtime do ASP.NET Core permite executar aplicativos feitos com o .NET que não forneceram o runtime. O comando a seguir instala o runtime do ASP.NET Core, que é o runtime mais compatível com o .NET. No terminal, execute o seguinte comando:

sudo dnf install aspnetcore-runtime-8.0

Como alternativa ao Runtime do ASP.NET Core, você pode instalar o Runtime do .NET, que não inclui suporte ao ASP.NET Core: substitua aspnetcore-runtime-8.0 no comando anterior por dotnet-runtime-8.0:

sudo dnf install dotnet-runtime-8.0

Instalar o .NET 7

Instalar o SDK

O SDK do .NET permite que você desenvolva aplicativos com o .NET. Se você instalar o SDK do .NET, não será necessário instalar o runtime correspondente. Para instalar o SDK do .NET, execute o seguinte comando:

sudo dnf install dotnet-sdk-7.0

Instalar o runtime

O Runtime do ASP.NET Core permite executar aplicativos feitos com o .NET que não forneceram o runtime. O comando a seguir instala o runtime do ASP.NET Core, que é o runtime mais compatível com o .NET. No terminal, execute o seguinte comando:

sudo dnf install aspnetcore-runtime-7.0

Como alternativa ao runtime do ASP.NET Core, você pode instalar o runtime do .NET, que não inclui suporte ao ASP.NET Core: substitua aspnetcore-runtime-7.0 no comando anterior por dotnet-runtime-7.0:

sudo dnf install dotnet-runtime-7.0

Instalar o .NET 6

Instalar o SDK

O SDK do .NET permite que você desenvolva aplicativos com o .NET. Se você instalar o SDK do .NET, não será necessário instalar o runtime correspondente. Para instalar o SDK do .NET, execute o seguinte comando:

sudo dnf install dotnet-sdk-6.0

Instalar o runtime

O Runtime do ASP.NET Core permite executar aplicativos feitos com o .NET que não forneceram o runtime. O comando a seguir instala o runtime do ASP.NET Core, que é o runtime mais compatível com o .NET. No terminal, execute o seguinte comando:

sudo dnf install aspnetcore-runtime-6.0

Como alternativa ao Runtime do ASP.NET Core, você pode instalar o Runtime do .NET, que não inclui suporte ao ASP.NET Core: substitua aspnetcore-runtime-6.0 no comando anterior por dotnet-runtime-6.0:

sudo dnf install dotnet-runtime-6.0

Instalar versões prévias

As versões prévias e Release Candidate do .NET não estão disponíveis em repositórios de pacotes. É possível instalar versões prévias e Release Candidate do .NET das seguintes maneiras:

Remover versões prévias

Ao usar um gerenciador de pacotes para gerenciar a instalação do .NET, pode ocorrer um conflito quando já existe uma versão prévia instalada. O gerenciador de pacotes pode interpretar a versão que não é prévia como uma versão anterior do .NET. Para instalar a versão que não é prévia, desinstale as versões prévias. Para obter mais informações de como desinstalar o .NET, confira Como remover o SDK e o runtime do .NET.

Dependências

Quando você faz a instalação com um gerenciador de pacotes, essas bibliotecas são instaladas automaticamente. Porém, se você instalar o .NET manualmente ou publicar um aplicativo autossuficiente, será necessário verificar se estas bibliotecas estão instaladas:

  • krb5-libs
  • libicu
  • openssl-libs
  • zlib

Se a versão do OpenSSL do ambiente de runtime de destino for 1.1 ou mais recente, você precisará instalar compat-openssl10.

As dependências podem ser instaladas com o comando yum install. O snippet a seguir demonstra a instalação da biblioteca libicu:

sudo yum install libicu

Para obter mais informações sobre as dependências, confira Aplicativos autossuficientes do Linux.

Se o aplicativo .NET usar o assembly System.Drawing.Common, o libgdiplus também precisará ser instalado. Como System.Drawing.Common não tem mais suporte no Linux, isso só funciona no .NET 6 e requer a definição da alternância de configuração de runtime System.Drawing.EnableUnixSupport.

Você pode instalar uma versão recente de libgdiplus ao adicionar o repositório do Mono ao sistema.

Instalar em distribuições mais antigas

As versões mais antigas do Fedora não contêm o .NET Core nos repositórios de pacote padrão. É possível instalar o .NET com o script dotnet-install.sh ou por meio do repositório da Microsoft:

  1. Primeiro, adicione a chave de assinatura da Microsoft à lista de chaves confiáveis.

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  2. Em seguida, adicione o repositório de pacotes da Microsoft. A origem do repositório se baseia na sua versão do Fedora.

    Versão do Fedora Repositório de pacotes
    36 https://packages.microsoft.com/config/fedora/36/prod.repo
    35 https://packages.microsoft.com/config/fedora/35/prod.repo
    34 https://packages.microsoft.com/config/fedora/34/prod.repo
    33 https://packages.microsoft.com/config/fedora/33/prod.repo
    32 https://packages.microsoft.com/config/fedora/32/prod.repo
    31 https://packages.microsoft.com/config/fedora/31/prod.repo
    30 https://packages.microsoft.com/config/fedora/30/prod.repo
    29 https://packages.microsoft.com/config/fedora/29/prod.repo
    28 https://packages.microsoft.com/config/fedora/28/prod.repo
    27 https://packages.microsoft.com/config/fedora/27/prod.repo
    sudo wget -O /etc/yum.repos.d/microsoft-prod.repo https://packages.microsoft.com/config/fedora/31/prod.repo
    

Instalar o SDK

O SDK do .NET permite que você desenvolva aplicativos com o .NET. Se você instalar o SDK do .NET, não será necessário instalar o runtime correspondente. Para instalar o SDK do .NET, execute o seguinte comando:

sudo dnf install dotnet-sdk-7.0

Instalar o runtime

O Runtime do ASP.NET Core permite executar aplicativos feitos com o .NET que não forneceram o runtime. O comando a seguir instala o runtime do ASP.NET Core, que é o runtime mais compatível com o .NET. No terminal, execute o seguinte comando:

sudo dnf install aspnetcore-runtime-7.0

Como alternativa ao Runtime do ASP.NET Core, você pode instalar o Runtime do .NET, que não inclui suporte ao ASP.NET Core: substitua aspnetcore-runtime-7.0 no comando anterior por dotnet-runtime-7.0:

sudo dnf install dotnet-runtime-7.0

Como instalar outras versões

Todas as versões do .NET estão disponíveis para download, https://dotnet.microsoft.com/download/dotnetmas exigem a instalação manual. Você pode tentar usar o gerenciador de pacotes para instalar uma versão diferente do .NET. No entanto, a versão solicitada pode não estar disponível.

Os pacotes adicionados aos feeds do gerenciador de pacotes são nomeados em um formato hackeável, por exemplo: {product}-{type}-{version}.

  • product
    O tipo de produto .NET a ser instalado. As opções válidas são:

    • dotnet
    • aspnetcore
  • tipo
    Escolhe o SDK ou o runtime. As opções válidas são:

    • SDK (disponível somente para o produto dotnet)
    • runtime
  • version
    A versão do SDK ou do runtime a ser instalada. Este artigo sempre fornecerá as instruções para a última versão com suporte. As opções válidas são qualquer versão lançada, como:

    • 8.0
    • 6,0
    • 3.1
    • 2.1

    É possível que o SDK/runtime que você está tentando baixar não esteja disponível para sua distribuição do Linux. Para obter uma lista de distribuições com suporte, confira Instalar o .NET no Linux.

Exemplos

  • Instale o runtime do ASP.NET Core 8.0: aspnetcore-runtime-8.0
  • Instalar o runtime do .NET Core 2.1: dotnet-runtime-2.1
  • Instalar o SDK do .NET 5: dotnet-sdk-5.0
  • Instalar o SDK do .NET Core 3.1: dotnet-sdk-3.1

Ausência de pacote

Se a combinação pacote-versão não funcionar, ela não estará disponível. Por exemplo, não existe um SDK do ASP.NET Core, os componentes do SDK estão incluídos no SDK do .NET. O valor aspnetcore-sdk-8.0 está incorreto e deve ser dotnet-sdk-8.0. Para obter uma lista de distribuições do Linux com suporte no .NET, confira Dependências e requisitos do .NET.

Solucionar problemas do gerenciador de pacotes

Esta seção fornece informações sobre erros comuns que podem ocorrer ao usar o gerenciador de pacotes para instalar o .NET ou o .NET Core.

Não é possível localizar o pacote

Para obter mais informações de como instalar o .NET sem um gerenciador de pacotes, confira um dos seguintes artigos:

Falha na busca

Ao instalar o pacote do .NET, pode ocorrer um erro semelhante a signature verification failed for file 'repomd.xml' from repository 'packages-microsoft-com-prod'. De modo geral, esse erro significa que o feed de pacotes do .NET está sendo atualizado com versões de pacote mais recentes e que você deve tentar novamente mais tarde. Durante uma atualização, o feed de pacotes não fica disponível por até duas horas. Se você receber esse erro continuamente por mais de duas horas, registre um problema em https://github.com/dotnet/core/issues.

Para obter mais informações sobre como resolver esses problemas, consulte Solucionar problemas fxr, libhostfxr.so e erros FrameworkList.xml.

Próximas etapas