Instalar o .NET no Windows

Neste artigo, você aprenderá a instalar o .NET no Windows. O .NET é composto pelo runtime e pelo SDK. O runtime é usado para executar um aplicativo .NET e pode estar incluído com o aplicativo. O SDK é usado para criar bibliotecas e aplicativos .NET. O runtime do .NET é sempre instalado com o SDK.

A versão mais recente do .NET é a 8.0.

Há dois tipos de versões com suporte: versões LTS (Suporte de Longo Prazo) e versões STS (Suporte com Prazo Padrão). A qualidade de todas as versões é a mesma. A única diferença é a duração do suporte. As versões LTS recebem suporte e patches gratuitos por três anos. As versões STS recebem suporte e patches gratuitos por 18 meses. Para obter mais informações, consulte a Política de Suporte do .NET.

A seguinte tabela lista o status de suporte de cada versão do .NET (e do .NET Core):

✔️ Com suporte ❌ Sem suporte
8 (LTS) 5
7 (STS) 3.1
6 (LTS) 3.0
2.1
2,0
1,1
1.0

Instalar com Gerenciador de Pacotes do Windows (winget)

Você pode instalar e gerenciar o .NET por meio do serviço de Gerenciador de Pacotes do Windows, usando a ferramenta winget. Para obter mais informações sobre como instalar e usar o winget, consulte Usar a ferramenta winget.

Se você estiver instalando o .NET em todo o sistema, instale com privilégios administrativos.

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:

winget install Microsoft.DotNet.SDK.8

Instalar o runtime

Há três runtimes diferentes do .NET que você pode instalar, no entanto, você deve instalar o Runtime do .NET Desktop e o Runtime do ASP.NET Core para obter máxima compatibilidade com todos os tipos de aplicativos .NET. A tabela a seguir descreve o que está incluído em cada runtime:

Inclui o Runtime do .NET Inclui o Runtime do .NET Desktop Inclui o Runtime do ASP.NET Core
Runtime do .NET Sim Não Não
Runtime do .NET Desktop Sim Sim Não
Runtime do ASP.NET Core Não No Sim

A lista a seguir fornece detalhes sobre cada runtime junto com os comandos winget para instalá-los:

  • Runtime do .NET Desktop

    Esse runtime dá suporte a aplicativos do WPF (Windows Presentation Foundation) e do Windows Forms compilados com o .NET. Isso não é o mesmo que .NET Framework, que vem com o Windows. Esse runtime inclui o Runtime do .NET, mas não inclui o Runtime do ASP.NET Core, que deve ser instalado separadamente.

    winget install Microsoft.DotNet.DesktopRuntime.8
    
  • Execução do .NET

    Esse é o runtime base e contém apenas os componentes necessários para executar um aplicativo de console. Normalmente, você instalaria o Runtime do .NET Desktop e o Runtime do ASP.NET Core em vez deste.

    winget install Microsoft.DotNet.Runtime.8
    
  • Runtime do ASP.NET Core

    Esse runtime executa aplicativos de servidor Web e fornece muitas APIs relacionadas à Web. O Runtime do ASP.NET Core permite executar aplicativos criados com o .NET que não forneceram o runtime. Você deve instalar o Runtime do .NET além deste runtime. Os comandos a seguir instalam Runtime ASP.NET Core. No seu terminal, execute os seguintes comandos:

    winget install Microsoft.DotNet.AspNetCore.8
    

Você pode instalar versões prévias dos runtimes substituindo o número de versão, como 6, pela palavra Preview. O exemplo a seguir instala a versão prévia do Runtime da Área de Trabalho do .NET:

winget install Microsoft.DotNet.DesktopRuntime.Preview

Instalar junto com o Visual Studio Code

Visual Studio Code é um editor de código-fonte leve e avançado que é executado em sua área de trabalho. Visual Studio Code está disponível para Windows, macOS e Linux.

Embora Visual Studio Code não venha com um instalador automatizado do .NET Core como o Visual Studio, adicionar suporte ao .NET Core é simples.

  1. Baixar e instalar o Visual Studio Code.
  2. Baixar e instalar o .NET SDK.
  3. Instalar a extensão C# do Visual Studio Code Marketplace.

A extensão C# para o Visual Studio Code inclui o SDK do .NET mais recente e você não precisa instalar nenhum runtime do .NET separadamente.

Instalar com o Windows Installer

Há três runtimes diferentes do .NET que você pode instalar, no entanto, você deve instalar o Runtime do .NET Desktop e o Runtime do ASP.NET Core para obter máxima compatibilidade com todos os tipos de aplicativos .NET. A tabela a seguir descreve o que está incluído em cada runtime:

Inclui o Runtime do .NET Inclui o Runtime do .NET Desktop Inclui o Runtime do ASP.NET Core
Runtime do .NET Sim Não Não
Runtime do .NET Desktop Sim Sim Não
Runtime do ASP.NET Core Não No Sim

O SDK do .NET permite que você crie aplicativos .NET e inclui todos os runtimes.

A página de download do .NET fornece executáveis do Windows Installer.

Se você quiser instalar o .NET silenciosamente, como em um ambiente de produção ou para dar suporte à integração contínua, use as seguintes opções:

  • /install
    Instala o .NET.

  • /quiet
    Impede que qualquer interface do usuário e prompts sejam exibidas.

  • /norestart
    Suprime todas as tentativas de reinicialização.

dotnet-sdk-8.0.100-win-x64.exe /install /quiet /norestart

Para obter mais informações, consulte Opções de linha de comando do instalador padrão.

Dica

O instalador retorna um código de saída 0 em caso de sucesso e um código de saída de 3010 para indicar que uma reinicialização é necessária. Qualquer outro valor geralmente é um código de erro.

Instalar com a automação do PowerShell

Os scripts dotnet-install são usados para instalações de automação e não administrativas do SDK e do Runtime. Você pode baixar o script na página de referência de script dotnet-install.

O script usa como padrão a instalação da versão LTS (suporte de longo prazo) mais recente, que é o .NET 8. Você pode escolher uma versão específica definindo a opção Channel . Inclua a opção Runtime para instalar um runtime. Caso contrário, o script instala o SDK.

O comando a seguir instala os runtimes do Desktop e do ASP.NET Core para obter compatibilidade máxima.

dotnet-install.ps1 -Channel 8.0 -Runtime windowsdesktop
dotnet-install.ps1 -Channel 8.0 -Runtime aspnetcore

Instale o SDK omitindo a opção -Runtime. A opção -Channel é definida neste exemplo como STS, que instala a versão mais recente do Suporte com Prazo Padrão, que é .NET 7.

dotnet-install.ps1 -Channel STS

Instalar com o Visual Studio

Se você estiver usando o Visual Studio para desenvolver aplicativos .NET, a tabela a seguir descreverá a versão mínima necessária do Visual Studio com base na versão de destino do SDK do .NET.

Versão do SDK do .NET Versão do Visual Studio
8 Visual Studio 2022 versão 17.8 ou superior.
7 Visual Studio 2022 versão 17.4 ou superior.
6 Visual Studio 2022 versão 17.0 ou superior.
5 Visual Studio 2019 versão 16.8 ou superior.
3.1 Visual Studio 2019 versão 16.4 ou superior.
3,0 Visual Studio 2019 versão 16.3 ou superior.
2,2 Visual Studio 2017 versão 15.9 ou superior.
2.1 Visual Studio 2017 versão 15.7 ou superior.

Se você já tiver o Visual Studio instalado, poderá verificar sua versão com as etapas a seguir.

  1. Abra o Visual Studio.
  2. Selecione Ajuda>sobre o Microsoft Visual Studio.
  3. Leia o número da versão da caixa de diálogo Sobre .

O Visual Studio pode instalar o SDK e o runtime mais recentes do .NET.

Para obter mais informações, consulte o SDK do .NET, o MSBuild e o controle de versão do Visual Studio.

Selecionar uma carga de trabalho

Ao instalar ou modificar o Visual Studio, selecione uma ou mais das seguintes cargas de trabalho, dependendo do tipo de aplicativo que você está criando:

  • A carga de trabalho de desenvolvimento multiplataforma do .NET Core na seção Outros Conjuntos de Ferramentas .
  • A carga de trabalhoASP.NET e desenvolvimento web na seção Web e Nuvem.
  • A carga de trabalho de desenvolvimento do Azure na seção Web e Nuvem.
  • A carga de trabalho de desenvolvimento da área de trabalho do .NET na seção Desktop e Dispositivos Móveis.

Windows Visual Studio 2019 with .NET Core workload

Versões com suporte

A tabela a seguir é uma lista de versões .NET atualmente com suporte e as versões do Windows nas quais elas têm suporte. Essas versões permanecerão com suporte até que a versão do .NET atinja o fim do suporte ou a versão do Windows atinja o fim da vida útil.

Windows 10 datas de fim de serviço de versões são segmentadas por edição. Somente as edições Home, Pro, Pro Education e Pro for Workstations são consideradas na tabela a seguir. Verifique a folha de fatos do ciclo de vida do Windows para obter detalhes específicos.

Dica

Um símbolo + representa a versão mínima.

Sistema operacional .NET 8 .NET 7 .NET 6
Windows 11 ✔️ ✔️ ✔️
Windows Server 2022 ✔️ ✔️ ✔️
Windows Server, versão 1903 ou posterior ✔️ ✔️ ✔️
Windows 10, versão 1607 ou posterior ✔️ ✔️ ✔️
Windows 8.1 ✔️
Windows 7 SP1 ESU ✔️
Windows Server 2019
Windows Server 2016
Windows Server 2012 R2
Windows Server 2012
✔️ ✔️ ✔️
Windows Server Core 2012 R2 ✔️ ✔️ ✔️
Windows Server Core 2012 ✔️ ✔️ ✔️
Nano Server versão 1809+ ✔️ ✔️ ✔️
Nano Server versão 1803

Para obter mais informações sobre sistemas operacionais compatíveis com .NET 8, distribuições e política de ciclo de vida, consulte Versões do sistema operacional com suporte no .NET 8.

Versões sem suporte

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

Verificar binários baixados

Depois de baixar um instalador, verifique se o arquivo não foi alterado ou corrompido. Você pode obter a soma de verificação no computador e depois compará-la com o que foi relatado no site de download.

Quando você baixa um instalador ou um binário de uma página de download oficial, a soma de verificação do arquivo é exibida. Selecione o botão Copiar a fim de copiar o valor de soma de verificação para a área de transferência.

The .NET download page with checksum

Você pode usar o PowerShell ou o prompt de comando para validar a soma de verificação do arquivo baixado. Por exemplo, o seguinte comando relata a soma de verificação do arquivo dotnet-sdk-8.0.100-win-x64.exe:

> certutil -hashfile dotnet-sdk-8.0.100-win-x64.exe SHA512
SHA512 hash of dotnet-sdk-8.0.100-win-x64.exe:
248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e
CertUtil: -hashfile command completed successfully.
> (Get-FileHash .\dotnet-sdk-8.0.100-win-x64.exe -Algorithm SHA512).Hash
248acec95b381e5302255310fb9396267fd74a4a2dc2c3a5989031969cb31f8270cbd14bda1bc0352ac90f8138bddad1a58e4af1e56cc4a1613b1cf2854b518e

Compare a soma de verificação com o valor fornecido pelo site de download.

Usar o PowerShell e um arquivo de soma de verificação para validação

As notas sobre a versão do .NET contêm um link para um arquivo de soma de verificação que você pode usar para validar o arquivo baixado. As seguintes etapas descrevem como baixar o arquivo de soma de verificação e validar um binário de instalação do .NET:

  1. A página de notas sobre a versão do .NET 8 no GitHub em https://github.com/dotnet/core/tree/main/release-notes/8.0 contém uma seção chamada Versões. A tabela nessa seção está vinculada aos arquivos de soma de verificação e downloads de cada versão do .NET 8:

    The github release notes version table for .NET

  2. Selecione o link da versão do .NET que você baixou. A seção anterior usou o SDK do .NET 8.0.100, que está na versão 8.0.0 do .NET.

    Dica

    Se você não sabe qual versão do .NET contém o arquivo de soma de verificação, explore os links até encontrá-lo.

  3. Na página de lançamento, você pode ver a versão do Runtime do .NET e do SDK do .NET e um link para o arquivo de soma de verificação:

    The download table with checksums for .NET

  4. Copie o link do arquivo de soma de verificação.

  5. Use o script a seguir, mas substitua o link para baixar o arquivo de soma de verificação apropriado:

    Invoke-WebRequest https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt -OutFile 8.0.0-sha.txt
    
  6. Com o arquivo de soma de verificação e o arquivo de versão do .NET baixados no mesmo diretório, pesquise no arquivo de soma de verificação a soma de verificação do download do .NET:

    Quando a validação for aprovada, você verá True impresso:

    > (Get-Content .\8.0.0-sha.txt | Select-String "dotnet-sdk-8.0.100-win-x64.exe").Line -like (Get-FileHash .\dotnet-sdk-8.0.100-win-x64.exe -Algorithm SHA512).Hash + "*"
    True
    

    Se False for impresso, o arquivo baixado não será válido e não deverá ser usado.

Informações de runtime

O runtime é usado para executar aplicativos criados com .NET. Quando um autor de aplicativo publica um aplicativo, ele pode incluir o runtime com seu aplicativo. Se eles não incluirem o runtime, cabe ao usuário instalar o runtime.

Há três runtimes diferentes do .NET que você pode instalar, no entanto, você deve instalar o Runtime do .NET Desktop e o Runtime do ASP.NET Core para obter máxima compatibilidade com todos os tipos de aplicativos .NET. A tabela a seguir descreve o que está incluído em cada runtime:

Inclui o Runtime do .NET Inclui o Runtime do .NET Desktop Inclui o Runtime do ASP.NET Core
Runtime do .NET Sim Não Não
Runtime do .NET Desktop Sim Sim Não
Runtime do ASP.NET Core Não No Sim

A lista a seguir fornece detalhes sobre cada runtime:

  • Runtime do Desktop
    Executa os aplicativos da área de trabalho .NET WPF e Windows Forms para Windows. Inclui o runtime do .NET.

  • Runtime do ASP.NET Core
    Executa aplicativos ASP.NET Core.

  • Runtime do .NET
    Esse runtime é o runtime mais simples e não inclui nenhum outro runtime. Instale o Runtime do ASP.NET Core e o Runtime do Desktop para obter a melhor compatibilidade com aplicativos .NET.

Informações do SDK

O SDK é usado para compilar e publicar aplicativos e bibliotecas .NET. A instalação do SDK inclui os três runtimes: ASP.NET Core, Desktop e .NET.

Computadores Windows baseados em Arm

As seções a seguir descrevem as coisas que você deve considerar ao instalar o .NET em um computador Windows baseado em Arm.

O que tem suporte

A tabela a seguir descreve quais versões do .NET têm suporte em um computador Windows baseado em Arm:

Versão .NET Arquitetura . Runtime Conflito de caminhos
8 Arm64 Sim Sim Não
8 x64 Sim Sim Não
7 Arm64 Sim Sim Não
7 x64 Sim Sim Não
6 Arm64 Sim Sim Não
6 x64 Sim Sim Não
5 Arm64 Sim Sim Sim
5 x64 No Sim Sim

As versões x64 e Arm64 do SDK do .NET existem de modo independente uma da outra. Se uma nova versão for lançada, cada instalação precisará ser atualizada.

Diferenças de caminho

Em um computador Windows baseado em Arm, todas as versões do Arm64 do .NET são instaladas na pasta C:\Program Files\dotnet\ normal. No entanto, a versão x64 do SDK do .NET é instalada na pasta C:\Arquivos de Programas\dotnet\x64\.

Conflitos de caminho

O SDK do .NET x64 é instalado em seu próprio diretório, conforme descrito na seção anterior. Isso permite que as versões Arm64 e x64 do SDK do .NET 6 existam no mesmo computador. No entanto, não há suporte a nenhum SDK x64 antes do 6, e ele é instalado no mesmo local da versão Arm64, a pasta C:\Program Files\dotnet\. Se você quiser instalar um SDK x64 sem suporte, desinstale primeiro a versão do Arm64. Isso também vale para o oposto. Você precisará desinstalar o SDK x64 sem suporte para instalar a versão do Arm64.

Variáveis de caminho

Variáveis de ambiente que adicionam .NET ao caminho do sistema, como a variável PATH, podem precisar ser alteradas se você tiver as versões x64 e Arm64 do SDK do .NET 6 instaladas. Além disso, algumas ferramentas dependem da variável de ambiente DOTNET_ROOT, que também precisaria ser atualizada para apontar para a pasta de instalação apropriada do SDK do .NET 6.

Dependências

As seguintes versões do Windows têm suporte no .NET 8:

Observação

Um símbolo + representa a versão mínima.

Sistema operacional Versão Arquiteturas
Windows 11 22000+ x64, x86, Arm64
Cliente do Windows 10 1607+ x64, x86, Arm64
Windows Server 2012+ x64, x86
Núcleo do Windows Server 2012+ x64, x86
Nano Server 1809+ x64

Para obter mais informações sobre sistemas operacionais compatíveis com .NET 8, distribuições e política de ciclo de vida, consulte Versões do sistema operacional com suporte no .NET 8.

Windows 7/8.1/Server 2012

Mais dependências serão necessárias se você estiver instalando o SDK do .NET ou o runtime nas seguintes versões do Windows:

Sistema operacional Pré-requisitos
Windows 7 SP1 ESU - Microsoft Visual C++ 2015-2019 redistribuível 64-bit / 32-bit
- KB3063858 64-bit / 32-bit
- Autoridade de certificado raiz da Microsoft 2011 (.NET Core 2.1 offline installer only)
Windows 8.1 Microsoft Visual C++ 2015-2019 redistribuível 64-bit / 32-bit
Windows Server 2012 Microsoft Visual C++ 2015-2019 redistribuível 64-bit / 32-bit
Windows Server 2012 R2 Microsoft Visual C++ 2015-2019 redistribuível 64-bit / 32-bit

Os requisitos anteriores também serão necessários se você receber um erro relacionado a qualquer uma das seguintes dlls:

  • api-ms-win-crt-runtime-l1-1-0.dll
  • api-ms-win-cor-timezone-l1-1-0.dll
  • hostfxr.dll

Docker

Os contêineres fornecem uma maneira leve de isolar seu aplicativo do restante do sistema host. Os contêineres no mesmo computador compartilham apenas o kernel e usam recursos fornecidos ao seu aplicativo.

O .NET pode ser executado em um contêiner do Docker. As imagens oficiais do Docker do .NET Core são publicadas no MCR (Registro de Contêiner da Microsoft) e podem ser encontradas no repositório do Docker Hub do .NET Core da Microsoft. Cada repositório contém imagens para diferentes combinações do .NET (SDK ou Runtime) e do sistema operacional que você pode usar.

A Microsoft fornece imagens personalizadas para cenários específicos. Por exemplo, o repositório do ASP.NET Core fornece imagens que são criadas para a execução de aplicativos ASP.NET Core na produção.

Para obter mais informações sobre como usar o .NET em um contêiner do Docker, consulte Introdução ao .NET e docker e Exemplos.

Solução de problemas

Depois de instalar o SDK do .NET, você pode ter problemas ao tentar executar comandos da CLI do .NET. Esta seção coleta esses problemas comuns e fornece soluções.

Nenhum SDK do .NET foi encontrado

Provavelmente, você instalou as versões x86 (32 bits) e x64 (64 bits) do SDK do .NET. Isso está causando um conflito porque quando você executa o comando dotnet, ele está resolvendo para a versão x86 quando ele deve ser resolvido para a versão x64. Isso geralmente é corrigido ajustando a variável %PATH% para resolver a versão x64 primeiro.

  1. Verifique se você tem as duas versões instaladas executando o comando where.exe dotnet. Se tiver, você deverá ver uma entrada para as pastas Arquivos de Programas e Arquivos de Programas (x86)\ . Se a pasta Arquivos de Programas (x86)\ for a primeira, conforme mostrado no exemplo a seguir, ela estará incorreta e você deverá continuar para a próxima etapa.

    > where.exe dotnet
    C:\Program Files (x86)\dotnet\dotnet.exe
    C:\Program Files\dotnet\dotnet.exe
    

    Se estiver correto e os Arquivos de Programas\ estiverem em primeiro lugar, você não terá o problema que esta seção está discutindo e você deve criar um problema de solicitação de ajuda do .NET no GitHub

  2. Pressione o botão do Windows e digite "Editar as variáveis de ambiente do sistema" na pesquisa. Selecione Editar as variáveis de ambiente do sistema.

    Windows start menu with edit environment variable

  3. A janela Propriedades do Sistema é aberta para a guia Avançado. Selecione Variáveis de Ambiente.

    The Windows system properties panel open.

  4. Na janela Variáveis de Ambiente, no grupo variáveis do sistema , selecione a linha Caminho* e, em seguida, o botão Editar .

    The environment variables window with user and system variables.

  5. Use os botões Mover para cima e mover para baixo para mover a entrada C:\Arquivos de Programas\dotnet\ acima de C:\Arquivos de Programas (x86)\dotnet\.

    The environment variables list for the system.

A criação de aplicativos está mais lenta do que o esperado

Verifique se o Controle de Aplicativo Inteligente, um recurso do Windows, está desativado. Não é recomendável habilitar o Controle de Aplicativo Inteligente em computadores usados para desenvolvimento. Qualquer configuração diferente de "off" pode impactar negativamente o desempenho do Visual Studio.

Próximas etapas