Este artigo ensina sobre quais versões do .NET são suportadas no Windows, como instalar o .NET e qual é a diferença entre o SDK e o tempo de execução.
Ao contrário do .NET Framework, o .NET não está vinculado à sua versão do Windows. Você só pode ter uma única versão do .NET Framework instalada no Windows. Mas o .NET é autônomo e pode ser instalado em qualquer lugar do seu computador. Alguns aplicativos podem incluir sua própria cópia do .NET.
Por padrão, o .NET é instalado no diretório Program Files\dotnet no seu computador, a menos que o método de instalação escolha um diretório diferente.
O .NET é composto pelo tempo de execução e pelo SDK. O tempo de execução executa aplicativos .NET e o SDK é usado para criar aplicativos.
Escolha o tempo de execução correto
Há três tempos de execução diferentes para Windows, que permitem a execução de diferentes tipos de aplicativos. O SDK inclui todos os três tempos de execução, e um instalador para um tempo de execução pode incluir um tempo de execução adicional. A tabela a seguir descreve qual tempo de execução está incluído com um instalador .NET específico:
Instalador
Inclui o .NET Runtime
Inclui o .NET Desktop Runtime
Inclui ASP.NET Core Runtime
Tempo de execução do .NET
Sim
No
Não
Tempo de execução do .NET Desktop
Sim
Sim
No
ASP.NET Core Runtime
No
No
Sim
SDK do .NET
Sim
Sim
Sim
Para garantir que você possa executar todos os aplicativos .NET no Windows, instale o ASP.NET Core Runtime e o .NET Desktop Runtime. O ASP.NET Core Runtime executa aplicativos baseados na Web e o .NET Desktop Runtime executa aplicativos da área de trabalho, como um aplicativo Windows Presentation Foundation (WPF) ou Windows Forms.
Escolha como instalar o .NET
Há diferentes maneiras de instalar o .NET, e alguns produtos podem gerenciar sua própria versão do .NET. Se você instalar o .NET por meio de software que gerencia sua própria versão do .NET, ele pode não estar habilitado em todo o sistema. Certifique-se de entender as implicações da instalação do .NET por meio de outro software.
Se você não tiver certeza de qual método você deve escolher depois de revisar as listas nas seções a seguir, você provavelmente deseja usar o instalador do .NET.
Use o Visual Studio para instalar o .NET quando quiser desenvolver aplicativos .NET usando o Visual Studio. Visual Studio gerencia sua própria cópia do .NET. Esse método instala os modelos SDK, Runtime e Visual Studio.
Instale a extensão C# Dev Kit para Visual Studio Code para desenvolver aplicativos .NET. A extensão pode usar um SDK que já está instalado ou instalar um para você.
Instale o .NET com um pacote do Windows Installer, que é um executável que você executa. Esse método pode instalar o SDK e o Runtime. As instalações são realizadas em todo o sistema.
Use o WinGet para instalar o .NET quando quiser gerenciar o .NET através da linha de comando. Esse método pode instalar o SDK e o Runtime. As instalações são realizadas em todo o sistema.
Um script do PowerShell que pode automatizar a instalação do SDK ou do Runtime. Você pode escolher qual versão do .NET instalar.
Versões suportadas
A tabela a seguir é uma lista das versões do .NET atualmente suportadas e as versões do Windows nas quais elas são suportadas. Essas versões permanecem 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.
Gorjeta
Como lembrete, esta tabela se aplica ao .NET moderno (em oposição ao .NET Framework). Para instalar o .NET Framework, consulte o Guia de instalação do .NET Framework.
As datas de fim de serviço das versões do Windows 10 são segmentadas por edição. Apenas as edições Home, Pro, Pro Education e Pro for Workstations são consideradas na tabela a seguir. Consulte a ficha informativa do ciclo de vida do Windows para obter detalhes específicos.
Sistema operativo
.NET 9 (Arquiteturas)
.NET 8 (Arquiteturas)
Windows 11 (24H2, 23H2, 22H2 Ent/Edu)
✔️ x64, x86, braço64
✔️ x64, x86, braço64
Janelas 10 (22H2+)
✔️ x64, x86, braço64
✔️ x64, x86, braço64
Windows Server 2025 Windows Server 2022 Windows Server 2019 Windows Server, Versão 1903 ou posterior Windows Server 2016 Windows Server 2012 R2 Windows Server 2012
Não há mais uma versão do .NET que é suportada no Windows 7 e Windows 8.1. As últimas versões suportadas foram o .NET 6 e o suporte terminou em 12 de novembro de 2024.
O Windows Server 2012 ainda é suportado por qualquer versão do .NET que ainda esteja em suporte.
Todas estas três versões do Windows requerem a instalação de outras dependências:
Os requisitos anteriores também são necessários se você receber um erro relacionado a uma das seguintes dlls:
api-ms-win-crt-runtime-l1-1-0.dll
api-ms-win-cor-timezone-l1-1-0.dll
hostfxr.dll
PCs Windows baseados em Arm
O .NET é suportado em PCs Windows baseados em Arm. As seções a seguir descrevem coisas que você deve considerar ao instalar o .NET.
Diferenças de caminho
Em um PC Windows baseado em Arm, todas as versões Arm64 do .NET são instaladas na pasta normal C:\Program Files\dotnet\ . No entanto, a versão x64 do SDK do .NET é instalada na pasta C:\Program Files\dotnet\x64\ .
Variáveis de caminho
As variáveis de ambiente que adicionam o .NET ao caminho do sistema, como a PATH variável, podem precisar ser alteradas se você tiver as versões x64 e Arm64 do SDK do .NET instaladas. Além disso, algumas ferramentas dependem da variável de DOTNET_ROOT ambiente, que também precisaria ser atualizada para apontar para a pasta de instalação apropriada do SDK do .NET.
Instalar com o Visual Studio
Visual Studio instala sua própria cópia do .NET separado de outras cópias do .NET. Diferentes versões do Visual Studio oferecem suporte a diferentes versões do .NET. A versão mais recente do Visual Studio sempre oferece suporte à versão mais recente do .NET.
O Visual Studio Installer instala e configura o Visual Studio. Algumas cargas de trabalho do Visual Studio incluem .NET, como desenvolvimento ASP.NET e Web e desenvolvimento de interface do usuário de aplicativo multiplataforma .NET. Versões específicas do .NET podem ser instaladas através da guia Componentes individuais .
A documentação do Visual Studio fornece instruções sobre como:
Se você estiver usando o Visual Studio para desenvolver aplicativos .NET, a tabela a seguir descreve 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
9
Visual Studio 2022 versão 17.12 ou superior.
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, você pode verificar sua versão com as etapas a seguir.
Abra o Visual Studio.
Selecione Ajuda sobre o>Microsoft Visual Studio.
Leia o número da versão na caixa de diálogo Sobre .
O Visual Studio Code é um editor de código-fonte poderoso e leve que é executado em sua área de trabalho. Visual Studio Code pode usar o SDK já instalado em seu sistema. Além disso, a extensão do C# Dev Kit instalará o .NET para você se ainda não estiver instalado.
Para obter instruções sobre como instalar o .NET por meio do Visual Studio Code, consulte Introdução ao C# no VS Code.
Instalador do .NET
A página de download do .NET fornece executáveis do Windows Installer.
Selecione a versão do .NET que você deseja baixar, como 9.0.
Encontre a caixa SDK ou Runtime que contém os links para baixar o .NET.
Na coluna Instaladores, localize a linha Windows e selecione o link para a arquitetura da CPU. Se não tiver certeza, selecione x64 como o mais comum.
O navegador deve descarregar automaticamente o instalador.
Gorjeta
A imagem a seguir mostra o SDK, mas você também pode baixar o Runtime.
Abra o Windows Explorer e navegue até onde o arquivo foi baixado, provavelmente sua pasta Downloads .
Clique duas vezes no arquivo para instalar o .NET.
A caixa de diálogo Windows Installer é aberta.
Selecione Instalar e siga as instruções para instalar o .NET.
Para saber como usar a CLI do .NET, consulte Visão geral da CLI do .NET.
Opções da linha de comandos
Use o /? parâmetro para exibir uma lista de opções.
Se você quiser instalar o .NET silenciosamente, como em um ambiente de produção ou para oferecer 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 exibidos.
O instalador retorna um código de saída de 0 para sucesso e um código de saída de 3010 para indicar que uma reinicialização é necessária. Qualquer outro valor é provavelmente um código de erro.
Microsoft Update
Os executáveis do instalador do .NET são produtos independentes que podem ser atendidos usando o Microsoft Update (MU) no Windows. MU é diferente do Windows Update (WU), que é usado para atender componentes do sistema operacional, como o .NET Framework.
As correções de segurança e não relacionadas à segurança para versões suportadas do .NET são fornecidas por meio de MU usando vários canais de distribuição. As Atualizações Automáticas (AU) são relevantes para usuários finais e consumidores, enquanto o Windows Server Update Services (WSUS) e o Catálogo do Windows Update são relevantes para administradores de TI.
Os executáveis do instalador do .NET suportam instalações lado a lado (SxS) em versões principais e secundárias para diferentes arquiteturas e componentes, como o tempo de execução e o SDK. Por exemplo, você pode instalar o tempo de execução 6.0.15 (x64) e 6.0.17 (x86). Quando o MU for acionado, ele oferecerá o instalador mais recente para ambas as instalações.
Bloquear atualizações
Embora a maioria dos usuários prefira ser mantida atualizada, é possível bloquear atualizações do .NET usando as chaves do Registro na tabela a seguir.
Versão .NET
Chave do registo
Nome
Tipo
valor
Todos
HKLM\SOFTWARE\Microsoft\.NET
BlockMU
REG_DWORD
0x00000001
.NET 9
HKLM\SOFTWARE\Microsoft\.NET\9.0
BlockMU
REG_DWORD
0x00000001
.NET 8
HKLM\SOFTWARE\Microsoft\.NET\8.0
BlockMU
REG_DWORD
0x00000001
.NET 7
HKLM\SOFTWARE\Microsoft\.NET\7.0
BlockMU
REG_DWORD
0x00000001
.NET 6
HKLM\SOFTWARE\Microsoft\.NET\6.0
BlockMU
REG_DWORD
0x00000001
.NET 5
HKLM\SOFTWARE\Microsoft\.NET\5.0
BlockMU
REG_DWORD
0x00000001
.NET Core 3.1
HKLM\SOFTWARE\Microsoft\.NET\3.1
BlockMU
REG_DWORD
0x00000001
.NET Core 2.1
HKLM\SOFTWARE\Microsoft\.NET\2.1
BlockMU
REG_DWORD
0x00000001
Atualizações automáticas para o sistema operacional do servidor
As atualizações para sistemas operacionais de servidor são suportadas pelo WSUS e pelo Catálogo do Microsoft Update, mas não pela AU. Os sistemas operativos de servidor podem optar por receber atualizações através da AU utilizando as seguintes chaves de registo.
Versão .NET
Chave do registo
Nome
Tipo
valor
Todos
HKLM\SOFTWARE\Microsoft\.NET
AllowAUOnServerOS
REG_DWORD
0x00000001
.NET 9
HKLM\SOFTWARE\Microsoft\.NET\9.0
AllowAUOnServerOS
REG_DWORD
0x00000001
.NET 8
HKLM\SOFTWARE\Microsoft\.NET\8.0
AllowAUOnServerOS
REG_DWORD
0x00000001
.NET 7
HKLM\SOFTWARE\Microsoft\.NET\7.0
AllowAUOnServerOS
REG_DWORD
0x00000001
.NET 6
HKLM\SOFTWARE\Microsoft\.NET\6.0
AllowAUOnServerOS
REG_DWORD
0x00000001
.NET 5
HKLM\SOFTWARE\Microsoft\.NET\5.0
AllowAUOnServerOS
REG_DWORD
0x00000001
.NET Core 3.1
HKLM\SOFTWARE\Microsoft\.NET\3.1
AllowAUOnServerOS
REG_DWORD
0x00000001
Escolher quando as versões anteriores são removidas
Os executáveis do instalador sempre instalam novo conteúdo antes de remover a instalação anterior. Os aplicativos em execução podem ser interrompidos ou falhar quando tempos de execução mais antigos são removidos. Para minimizar o impacto da atualização do .NET, você pode especificar quando uma instalação anterior do .NET deve ser removida usando uma chave do Registro.
Versão .NET
Chave do registo
Nome
Tipo
valor
Todos
HKLM\SOFTWARE\Microsoft\.NET
RemovePreviousVersion
REG_SZ
always, never ou nextSession
.NET 9
HKLM\SOFTWARE\Microsoft\.NET\9.0
RemovePreviousVersion
REG_SZ
always, never ou nextSession
.NET 8
HKLM\SOFTWARE\Microsoft\.NET\8.0
RemovePreviousVersion
REG_SZ
always, never ou nextSession
never retém instalações anteriores e requer intervenção manual para remover instalações anteriores do .NET.
always Remove instalações anteriores após a instalação da nova versão. Este é o comportamento padrão no .NET.
nextSession adia a remoção até a próxima sessão de logon dos membros do grupo Administradores.
Os valores não diferenciam maiúsculas de minúsculas e os valores inválidos são padronizados para always.
Quando a remoção é adiada, o instalador grava um comando na chave de registo RunOnce para desinstalar a versão anterior. O comando só é executado se um usuário do grupo Administradores fizer logon na máquina.
Nota
Esse recurso só está disponível no .NET 8 (8.0.11), 9 e versões posteriores do .NET. Ele só se aplica aos executáveis do instalador autônomo e afeta distribuições como o WinGet que os usam.
Instalar com o Gerenciador de Pacotes do Windows (WinGet)
Você pode instalar e gerenciar o .NET por meio do serviço Gerenciador de Pacotes do Windows, usando a winget.exe ferramenta. Para obter mais informações sobre como instalar e usar o WinGet, consulte Usar a ferramenta winget para instalar e gerenciar aplicativos.
Se você estiver instalando o .NET em todo o sistema, instale com privilégios administrativos.
Abra um terminal, como o PowerShell ou o Prompt de Comando.
Execute o winget install comando e passe o nome do pacote SDK:
winget install Microsoft.DotNet.SDK.9
Para saber como usar a CLI do .NET, consulte Visão geral da CLI do .NET.
Instalar o tempo de execução
Há diferentes tempos de execução que você pode instalar. Consulte a seção Escolha o tempo de execução correto para entender o que está incluído em cada tempo de execução.
Para saber como usar a CLI do .NET, consulte Visão geral da CLI do .NET.
Pesquisar versões
Use o winget search comando para procurar diferentes versões do pacote que você deseja instalar. Por exemplo, o comando a seguir procura todos os SDKs .NET disponíveis via WinGet:
winget search Microsoft.DotNet.SDK
Os resultados da pesquisa são impressos numa tabela com cada identificador de pacote.
Name Id Version Source
----------------------------------------------------------------------------------------------
Microsoft .NET SDK 9.0 Microsoft.DotNet.SDK.9 9.0.100 winget
Microsoft .NET SDK 8.0 Microsoft.DotNet.SDK.8 8.0.300 winget
Microsoft .NET SDK 7.0 Microsoft.DotNet.SDK.7 7.0.409 winget
Microsoft .NET SDK 6.0 Microsoft.DotNet.SDK.6 6.0.422 winget
Microsoft .NET SDK 5.0 Microsoft.DotNet.SDK.5 5.0.408 winget
Microsoft .NET SDK 3.1 Microsoft.DotNet.SDK.3_1 3.1.426 winget
Instalar versões de pré-visualização
Se estiver disponível uma versão de pré-visualização, substitua o número da versão no Id pela palavra Preview. O exemplo a seguir instala a versão de visualização do .NET Desktop Runtime:
A instalação do .NET por meio do dotnet-install script PowerShell é recomendada para integração contínua e instalações não administrativas. Se você estiver instalando o .NET para uso normal em seu sistema, use os métodos de instalação do .NET Installer ou do Gerenciador de Pacotes do Windows.
O script assume como padrão a instalação da versão mais recente de suporte de longo prazo (LTS), que é o .NET 8. Você pode escolher uma versão específica especificando o -Channel switch. Inclua o -Runtime switch para instalar um tempo de execução. Caso contrário, o script instalará o SDK. O script está disponível em https://dot.net/v1/dotnet-install.ps1 e o código-fonte está hospedado no GitHub.
Abra o PowerShell e navegue até a pasta que contém o script.
Execute o seguinte comando para instalar o SDK do .NET.
dotnet-install.ps1
Nota
O SDK é instalado omitindo o -Runtime switch.
Para saber como usar a CLI do .NET, consulte Visão geral da CLI do .NET.
Validação
Depois de baixar um instalador ou uma versão binária, verifique-o para certificar-se de que o arquivo não foi alterado ou corrompido. Você pode verificar a soma de verificação no seu computador e, em seguida, compará-la com o que foi relatado no site de download.
Quando você baixa o arquivo de uma página de download oficial, a soma de verificação para o arquivo é exibida em uma caixa de texto. Selecione o botão Copiar para copiar o valor da soma de verificação para a área de transferência.
Você pode usar o PowerShell ou o Prompt de Comando para validar a soma de verificação do arquivo baixado. Por exemplo, o comando a seguir relata a soma de verificação do arquivo dotnet-sdk-8.0.100-win-x64.exe :
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 validar
As notas de 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 etapas a seguir descrevem como baixar o arquivo de soma de verificação e validar um binário de instalação do .NET:
A página de notas de 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 Releases. A tabela nessa seção vincula aos downloads e arquivos de soma de verificação para cada versão do .NET 8:
Selecione o link para a versão do .NET que você baixou. A seção anterior usou o .NET SDK 8.0.100, que está na versão .NET 8.0.0.
Gorjeta
Se você não tiver certeza de qual versão do .NET contém seu arquivo de soma de verificação, explore os links até encontrá-lo.
Na página de versão, você pode ver a versão do .NET Runtime e do .NET SDK e um link para o arquivo de soma de verificação:
Copie o link para o arquivo de soma de verificação.
Use o script a seguir, mas substitua o link para baixar o arquivo de soma de verificação apropriado:
Com o arquivo de soma de verificação e o arquivo de versão do .NET baixados para o 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:
Se vir Falso impresso, o ficheiro que transferiu não é válido e não deve ser utilizado.
Resolução de Problemas
Depois de instalar o SDK do .NET, você pode ter problemas ao tentar executar comandos da CLI do .NET. Esta secção recolhe esses problemas comuns e fornece soluções.
Muito 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 dotnet comando, ele está resolvendo para a versão x86 quando deveria resolver para a versão x64. Esse problema é corrigido ajustando a %PATH% variável para resolver a versão x64 primeiro.
Verifique se você tem ambas as versões instaladas executando o where.exe dotnet comando. Se o fizer, deverá ver uma entrada para as pastas Program Files\ e Program Files (x86)\ . Se a pasta Program Files (x86)\ for a primeira, como demonstrado pelo exemplo a seguir, ela está incorreta e você deve continuar para a próxima etapa.
Se estiver correto e o Program Files\ for o primeiro, você não tem o problema que esta seção está discutindo e você deve criar um problema de solicitação de ajuda do .NET no GitHub
Pressione o botão Windows e digite "Edit the system environment variables" na pesquisa. Selecione Editar as variáveis de ambiente do sistema.
A janela Propriedades do sistema é aberta na guia Avançado. Selecione Variáveis de ambiente.
Na janela Variáveis de Ambiente, no grupo Variáveis do sistema, selecione a linha Caminho* e, em seguida, selecione o botão Editar.
Use os botões Mover para cima e Mover para baixo para mover a entrada C:\Program Files\dotnet\ acima de C:\Program Files (x86)\dotnet\.
A criação de aplicativos é mais lenta do que o esperado
Certifique-se de que o Smart App Control, uma funcionalidade do Windows, está desativado. O Smart App Control não é recomendado para ser ativado em máquinas usadas para desenvolvimento. Qualquer configuração diferente de "off" pode afetar negativamente o desempenho do SDK.
hostfxr.dll / api-ms-win-crt-runtime-l1-1-0.dll / api-ms-win-cor-timezone-l1-1-0.dll está faltando
Instale o Microsoft Visual C++ 2015-2019 Redistributable (64 bits ou 32 bits).
A origem deste conteúdo pode ser encontrada no GitHub, onde também pode criar e rever problemas e pedidos Pull. Para mais informações, consulte o nosso guia do contribuidor.
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários:
O .NET é uma plataforma cruzada para programadores open source utilizada para criar diferentes tipos de aplicações. Com o .NET, pode utilizar múltiplas linguagens, editores e bibliotecas para criar conteúdos para a Web, dispositivos móveis, computadores, jogos e IoT.