Usando o .NET
O ServBay oferece aos desenvolvedores .NET um ambiente de desenvolvimento prático e eficiente no macOS. Por meio do sistema de gerenciamento de pacotes do ServBay, você pode facilmente instalar, gerenciar e executar diferentes versões do SDK .NET, abrangendo tanto o moderno .NET (ou seja, .NET Core e versões posteriores) quanto o clássico Mono, atendendo assim às diversas necessidades dos seus projetos.
Visão Geral
Histórico da Plataforma .NET e Suporte no macOS
O .NET é uma plataforma de desenvolvimento multifuncional criada pela Microsoft. Sua evolução e versões são cruciais para entender o suporte atual em macOS:
.NET Framework (versão original): Lançado inicialmente em 2002, o .NET Framework foi a principal plataforma de desenvolvimento da Microsoft, mas foi projetado principalmente para sistemas Windows. Ele inclui o Common Language Runtime (CLR) e uma extensa biblioteca de classes (FCL). Aplicações do .NET Framework normalmente não podem ser executadas diretamente no macOS.
Mono (pioneiro multiplataforma): Para permitir que aplicativos .NET rodassem em plataformas não-Windows, como Linux e macOS, a comunidade (inicialmente a cargo da Ximian, depois apoiada pela Novell e Xamarin/Microsoft) criou o Mono. O Mono é uma implementação open-source e multiplataforma do .NET Framework. Ele permite que desenvolvedores criem e executem aplicações originalmente escritas para .NET Framework (especialmente em C#) no macOS e Linux. Para cenários que exigem executar aplicações ou bibliotecas antigas do .NET Framework no macOS, o Mono ainda é uma opção válida.
.NET Core / .NET 5+ (novo padrão multiplataforma): Reconhecendo a importância da multiplataforma, a Microsoft redesenhou o .NET com o .NET Core—uma implementação moderna, de alto desempenho, open-source e totalmente multiplataforma, com suporte oficial para Windows, macOS e Linux. Após o .NET Core 3.1, a Microsoft renomeou a plataforma para .NET (começando pela versão 5 e pulando a 4 para evitar confusão com o .NET Framework 4.x). Atualmente, quando nos referimos ao SDK do .NET, normalmente dizemos respeito a esta versão moderna (ex: .NET 5, 6, 7, 8, 9, 10). Esta é a plataforma recomendada pela Microsoft para novos desenvolvimentos, inclusive no macOS.
Suporte do ServBay ao .NET
Entendendo essa trajetória e as demandas variadas dos desenvolvedores .NET, o ServBay oferece:
- Pacotes modernos do SDK .NET: Incluem várias versões do .NET (Core), como do .NET SDK 2.0 ao 10.0, permitindo o desenvolvimento multi-plataforma com C#, F# e ASP.NET Core.
- Pacotes Mono: Disponibiliza o runtime Mono (como Mono 6), possibilitando o desenvolvimento e execução de projetos antigos baseados no .NET Framework ou de bibliotecas específicas no macOS, incluindo suporte limitado para versões antigas do ASP.NET (Web Forms, System.Web MVC).
- Instalação paralela: Você pode instalar diversas versões do SDK .NET e Mono simultaneamente.
- Controle de versão por projeto: Utilize o arquivo
.servbay.config
para especificar, por projeto, a versão do SDK .NET desejada. - Gestão simplificada: A interface gráfica do ServBay permite visualizar, instalar e remover facilmente diferentes versões do SDK e do Mono.
Acessando os Pacotes .NET
- Abra o aplicativo ServBay.
- No menu lateral, clique em
Pacotes (Packages)
. - Na página
Pacotes
, role para baixo ou selecione no menu lateral a categoriaLanguages
->.NET
. - O painel à direita listará todos os SDKs .NET e pacotes Mono disponíveis.
Instalando o SDK .NET
A lista de pacotes mostra claramente o status de cada versão do SDK .NET:
- Nome do Pacote: Nome do pacote, como
.NET SDK 8.0
ouMono 6
. - Versão: A versão específica do pacote.
- Status: Exibe
Installed
(instalado) ouNot Installed
(não instalado). - Controle: Oferece botões de ação.
Para instalar uma versão do SDK .NET ainda não instalada (por exemplo, .NET SDK 10.0
):
- Encontre a versão desejada na lista.
- Confirme que o status é
Not Installed
. - Clique no ícone de Download/Instalar (geralmente uma seta para baixo) à direita.
- O ServBay iniciará o download e a instalação do SDK selecionado. Isso pode levar alguns minutos, dependendo da velocidade da sua conexão e do tamanho do SDK.
- Após a instalação, o status será
Installed
e o ícone de controle mudará para o de Desinstalar (lixeira).
Gerenciando SDKs Instalados
- Ver versões instaladas: O status
Installed
na lista mostra, de forma clara, quais SDKs .NET e Mono estão presentes no seu ambiente atual. - Desinstalar um SDK: Caso não precise mais de uma versão instalada, basta clicar no ícone Desinstalar (lixeira) correspondente e confirmar para removê-lo do sistema.
Usando o SDK .NET Instalado
Após instalar um SDK .NET via ServBay, o comando dotnet
é, normalmente, adicionado ao PATH do sistema (quando o ambiente do ServBay está ativado). Assim, você pode utilizar o comando dotnet
diretamente no Terminal do macOS.
Exemplos de comandos comuns:
Listar SDKs disponíveis: Abra o Terminal e execute:
bashdotnet --list-sdks
1Isso mostrará todas as versões do SDK .NET instaladas e gerenciadas pelo ServBay, junto aos seus respectivos caminhos.
Verificar a versão ativa do SDK (geralmente a mais recente instalada ou definida globalmente):
bashdotnet --version
1Criar um novo aplicativo de console (usando o SDK padrão):
bash# Cria um diretório de projeto chamado MyConsoleApp mkdir MyConsoleApp cd MyConsoleApp # Cria um novo projeto de console usando o SDK padrão dotnet new console
1
2
3
4
5
6Rodar a aplicação:
bashdotnet run
1Usar uma versão específica do SDK (se necessário): Caso o seu projeto precise de uma versão definida, você pode especificá-la no arquivo
global.json
na raiz do projeto. Exemplo:json{ "sdk": { "version": "8.0.408" // Especifique a versão do SDK já instalada e necessária para o projeto } }
1
2
3
4
5Ao rodar comandos do
dotnet
nesse diretório, o SDK definido noglobal.json
terá prioridade.
Suporte ao Mono
Além dos SDKs .NET padrão, o ServBay oferece também a opção de instalar o Mono. O Mono é uma implementação open-source e multiplataforma do .NET Framework. Caso precise rodar ou desenvolver aplicações que dependam de recursos específicos do .NET Framework, basta instalar e usar o Mono pelo ServBay. O processo de instalação e remoção do Mono é idêntico ao dos SDKs .NET.
O Mono é indicado principalmente para executar programas compilados para o .NET Framework (.exe
) ou ferramentas que requerem o ambiente Mono, incluindo rodar aplicações ASP.NET antigas.
Verificar versão do Mono:
bashmono --version
1Executar arquivo compilado com .NET Framework: Supondo que você tenha o
LegacyApp.exe
compilado para o .NET Framework:bashmono LegacyApp.exe
1Executar aplicações ASP.NET antigas (suporte limitado): O Mono conta com um servidor web simples chamado
xsp
, apropriado para rodar em ambiente de desenvolvimento aplicações Legadas do ASP.NET Web Forms ou System.Web MVC. Também é possível integrá-lo viaNginx
+FastCGI
ouApache
+mod_mono
.Importante:
- Esta abordagem possui compatibilidade limitada com o ASP.NET Framework. Nem todos os aplicativos funcionarão perfeitamente, especialmente aqueles que dependem de recursos exclusivos do Windows.
- O desempenho costuma ser inferior ao obtido em Windows/IIS.
- Não recomendado para novos projetos. Recomendamos uso do ASP.NET Core para desenvolvimento web moderno.
- O ServBay disponibiliza uma documentação completa: Como rodar sites ASP.NET Framework 4.x no macOS.
Se necessário executar (para testes ou manutenção, por exemplo), utilize comandos similares (dependendo do projeto e configuração):
bash# Exemplo: iniciar servidor xsp em um diretório de projeto específico # cd /Applications/ServBay/www/your_legacy_aspnet_app # xsp4 --port 8080 # (xsp4 corresponde ao .NET 4.x)
1
2
3
Integração com Servidor Web (ASP.NET Core)
Após instalar o SDK .NET pelo ServBay, você pode desenvolver e publicar aplicações web ASP.NET Core. Para implantação, é possível utilizar servidores web integrados oferecidos pelo próprio ServBay (Nginx, Caddy ou Apache):
- Utilize o comando
dotnet publish
para publicar o seu app ASP.NET Core. - Adicione um novo Site (Website) no ServBay.
- Configure o novo site como um proxy reverso, direcionando as requisições para a porta utilizada pelo servidor Kestrel do seu app ASP.NET Core (ex.:
http://localhost:5000
). O método para configuração de proxy reverso depende do servidor web escolhido (Nginx, Caddy ou Apache).
Para detalhes, consulte a documentação do ServBay sobre adição de sites e configuração de proxy reverso.
Resumo
O ServBay simplifica profundamente a configuração e a administração do ambiente de desenvolvimento .NET no macOS. Graças à sua interface intuitiva, você pode instalar, alternar e remover múltiplas versões do SDK .NET e do Mono conforme necessário, concentrando-se mais no desenvolvimento e testes de aplicações em C#, F# e ASP.NET Core.