Instalar o .NET no macOS

Neste artigo, você aprenderá a instalar o .NET no macOS. O .NET é composto pelo runtime e pelo SDK. O runtime é usado para executar um aplicativo .NET e pode ou não ser 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.

Versões com suporte

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, confira a Política de Suporte do .NET.

A tabela a seguir é uma lista atualizada de versões do .NET com suporte e as versões do macOS com suporte:

Sistema operacional .NET 8 (LTS) .NET 7 (STS) .NET 6 (LTS)
macOS 14.0 "Sonoma" ✔️ 8.0 ✔️ 7.0 ✔️ 6.0
macOS 13.0 "Ventura" ✔️ 8.0 ✔️ 7.0 ✔️ 6.0
macOS 12.0 "Monterey" ✔️ 8.0 ✔️ 7.0 ✔️ 6.0
macOS 11.0 "Big Sur" ✔️ 7.0 ✔️ 6.0
macOS 10.15 "Catalina" ✔️ 7.0 ✔️ 6.0

Para obter uma lista completa de versões do .NET e seu ciclo de vida de suporte, consulte Política de Suporte do .NET.

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

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 incluírem o runtime, cabe ao usuário instalar o runtime.

Há dois runtimes diferentes que você pode instalar no macOS:

  • Runtime do ASP.NET Core
    Executa aplicativos ASP.NET Core. Inclui o runtime do .NET.

  • Runtime do .NET
    Esse runtime é o runtime mais simples e não inclui nenhum outro runtime. É altamente recomendável que você instale o ASP.NET Core runtime 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 dois runtimes: ASP.NET Core e .NET.

Autenticação

A partir do macOS Catalina (versão 10.15), todos os softwares criados após 1º de junho de 2019 e distribuídos com a ID do Desenvolvedor devem ser autenticados. Esse requisito se aplica ao runtime do .NET, ao SDK do .NET e ao software criado com o .NET.

Os instaladores do runtime e SDK do .NET são autenticados desde 18 de fevereiro de 2020. As versões anteriores lançadas não são autenticadas. Se você executar um aplicativo não autenticado, verá um erro semelhante à seguinte imagem:

Alerta de autenticação do macOS Catalina

Para saber mais sobre como a autenticação imposta afeta o .NET (e seus aplicativos .NET), confira Trabalhar com a autenticação do macOS Catalina.

libgdiplus

Os aplicativos .NET que usam o assembly System.Drawing.Common exigem que o libgdiplus seja instalado.

Uma maneira fácil de obter o libgdiplus é usando o gerenciador de pacotes Homebrew ("brew") para macOS. Depois de instalar o brew, instale o libgdiplus executando os seguintes comandos em um prompt (de comando) do Terminal:

brew update
brew install mono-libgdiplus

Instalação automatizada

O macOS tem instaladores independentes que podem ser usados para instalar o .NET:

Instalação manual

Como alternativa aos instaladores do macOS para .NET, você pode baixar e instalar manualmente o SDK ou o runtime. A instalação manual costuma ser executada como parte do teste de integração contínua. Para um desenvolvedor ou usuário, geralmente é melhor usar um instalador.

Baixe uma versão binária do SDK ou do runtime em um dos sites a seguir. O SDK do .NET inclui o runtime correspondente:

Extraia o arquivo baixado e use o comando export para definir DOTNET_ROOT como o local da pasta extraída e certifique-se de que o .NET esteja em PATH. A exportação de DOTNET_ROOT disponibiliza os comandos da CLI do .NET no terminal. Para saber mais sobre as variáveis de ambiente do .NET, confira Variáveis de ambiente da CLI e do SDK do .NET.

Diferentes versões do .NET podem ser extraídas para a mesma pasta, que coexistem lado a lado.

Exemplo

Os comandos a seguir usam o Bash para definir a variável de ambiente DOTNET_ROOT para o diretório de trabalho atual seguida de .dotnet. Se não existir, o diretório será criado. A variável de ambiente DOTNET_FILE é o nome do arquivo da versão binária do .NET que você quer instalar. Esse arquivo é extraído para o diretório DOTNET_ROOT. O diretório DOTNET_ROOT e seu subdiretório tools são adicionados à variável de ambiente PATH.

Importante

Se você executar esses comandos, lembre-se de alterar o valor DOTNET_FILE para o nome do binário do .NET que você baixou.

DOTNET_FILE=dotnet-sdk-8.0.100-osx-x64.tar.gz
export DOTNET_ROOT=$(pwd)/.dotnet

mkdir -p "$DOTNET_ROOT" && tar zxf "$DOTNET_FILE" -C "$DOTNET_ROOT"

export PATH=$PATH:$DOTNET_ROOT

Você pode instalar mais de uma versão do .NET na mesma pasta.

Você também pode instalar o .NET no diretório inicial identificado pela variável HOME ou caminho ~:

export DOTNET_ROOT=$HOME/.dotnet

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.

A página de download do .NET com a soma de verificação

Use o comando sha512sum para imprimir a soma de verificação do arquivo que você baixou. Por exemplo, o comando a seguir relata a soma de verificação do arquivo dotnet-sdk-8.0.100-linux-x64.tar.gz:

$ sha512sum dotnet-sdk-8.0.100-linux-x64.tar.gz
13905ea20191e70baeba50b0e9bbe5f752a7c34587878ee104744f9fb453bfe439994d38969722bdae7f60ee047d75dda8636f3ab62659450e9cd4024f38b2a5  dotnet-sdk-8.0.100-linux-x64.tar.gz

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

Importante

Embora um arquivo Linux seja mostrado nesses exemplos, essas informações se aplicam igualmente ao macOS.

Usar um arquivo de soma de verificação para validar

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:

    A tabela de versão das notas sobre a versão do .NET no Github

  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.

  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:

    A tabela de download com as somas de verificação do .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:

    curl -O https://dotnetcli.blob.core.windows.net/dotnet/checksums/8.0.0-sha.txt
    
  6. Com o arquivo de soma de verificação e o arquivo de versão do .NET baixado para o mesmo diretório, use o comando sha512sum -c {file} --ignore-missing para validar o arquivo baixado.

    Quando a validação for aprovada, você verá o arquivo impresso com o status OK:

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: OK
    

    Se você vir o arquivo marcado como COM FALHA, o arquivo baixado não será válido e não deverá ser usado.

    $ sha512sum -c 8.0.0-sha.txt --ignore-missing
    dotnet-sdk-8.0.100-linux-x64.tar.gz: FAILED
    sha512sum: WARNING: 1 computed checksum did NOT match
    sha512sum: 8.0.0-sha.txt: no file was verified
    

Definir variáveis de ambiente em todo o sistema

Se você usou as instruções na seção exemplo de instalação manual, as variáveis definidas se aplicam apenas à sessão do terminal atual. Adicione-as ao perfil de shell. Há muitos shells diferentes disponíveis para macOS e cada um tem um perfil diferente. Por exemplo:

  • Shell Bash: ~/.profile, /etc/profile
  • Korn Shell: ~/.kshrc ou .profile
  • Z Shell: ~/.zshrc ou .zprofile

Defina as duas variáveis de ambiente a seguir no perfil de shell:

  • DOTNET_ROOT

    Essa variável é definida como a pasta na qual o .NET foi instalado, como $HOME/.dotnet:

    export DOTNET_ROOT=$HOME/.dotnet
    
  • PATH

    Essa variável deve incluir tanto a pasta DOTNET_ROOT quanto a pasta DOTNET_ROOT/tools:

    export PATH=$PATH:$DOTNET_ROOT:$DOTNET_ROOT/tools
    

Macs baseados em Arm

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

O que tem suporte

A tabela a seguir descreve quais versões do .NET têm suporte em um Mac 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

A partir do .NET 6, as versões x64 e Arm64 do SDK do .NET existem independentemente umas das outras. Se uma nova versão for lançada, cada instalação precisará ser atualizada.

Diferenças de caminho

Em um Mac baseado em Arm, todas as versões do Arm64 do .NET são instaladas na pasta normal /usr/local/share/dotnet/. No entanto, quando você instala a versão x64 do SDK do .NET, ela é instalada na pasta /usr/local/share/dotnet/x64/dotnet/.

Conflitos de caminho

A partir do .NET 6, a versão x64 do SDK do .NET é instalada em seu próprio diretório, conforme descrito na seção anterior. Assim, as versões Arm64 e x64 do SDK do .NET 6 podem existir no mesmo computador. No entanto, não há suporte a nenhum SDK x64 antes do .NET 6, e instalado no mesmo local da versão do Arm64, a pasta /usr/local/share/dotnet/. Se você quiser instalar um SDK x64 sem suporte, precisará primeiro desinstalar a versão do Arm64. O oposto também é verdadeiro. 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, talvez precisem 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.

Instalar com o Visual Studio para Mac

O Visual Studio para Mac instala o SDK do .NET quando a carga de trabalho do .NET é selecionada. Para começar a usar o desenvolvimento do .NET no macOS, confira Instalar o Visual Studio 2022 para Mac.

Importante

O Visual Studio para Mac está sendo desativado. Para obter mais informações, confira O que está acontecendo com o Visual Studio para Mac?.

Versão do SDK do .NET Versão do Visual Studio
8.0 Visual Studio 2022 para Mac 17.6.1 ou superior. (Disponível apenas como uma versão prévia do recurso.)
7.0 Visual Studio 2022 para Mac 17.4 ou posterior.
6,0 Visual Studio 2022 para Mac 17.0 ou superior.

macOS Visual Studio 2022 para Mac com a carga de trabalho do .NET selecionada.

Importante

A Microsoft anunciou a desativação do Visual Studio para Mac. O Visual Studio para Mac não terá mais suporte a partir de 31 de agosto de 2024. As alternativas incluem:

Para obter mais informações, confira o comunicado de desativação do Visual Studio para Mac.

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 como o Visual Studio, adicionar suporte ao .NET é 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.

Instalar com a automação bash

Os scripts dotnet-install são usados para automação e instalações não administrativas 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 o runtime do ASP.NET Core para compatibilidade máxima. O runtime ASP.NET Core também inclui o runtime padrão do .NET.

./dotnet-install.sh --channel 8.0 --runtime aspnetcore

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, confira Introdução ao .NET e docker e Exemplos.

Próximas etapas