🐧
Usando .NET Core no Linux* * *
Grupo de Estudos em Linux da Engenharia da Computação - UFC Sobral
O que é o .NET Core?
É uma variação do conhecido .NET Framework. Ele começa baseado na nova versão 4.6 do framework "completo". Ambos são desenvolvidos em conjunto pela Microsoft, mas o Core conta com ajuda da comunidade.
Não há grandes diferenças entre eles na parte mais básica. Apesar deles usaram a mesma base de código serão duas linhas de desenvolvimento independentes. O .NET Core não é necessário para o .NET Framework funcionar já que ele possui tudo o que precisa. E claro que o contrário também é verdadeiro.
O que é o .NET Core?
Os principais diferenciais do .NET Core são:
- Plataforma cruzada
- Implantação flexível
- Ferramentas de linha de comando
- Compatibilidade
- Open source
- Apoiado pela Microsoft
Em resumo
"NET Core is a cross-platform, open source, and modular .NET platform for creating modern web apps, microservices, libraries and console applications."
Pré-requisitos para o .NET Core no Linux
Importante
O .NET Core 2.x trata o Linux como um único sistema operacional. Há um único build do Linux (por arquitetura de chip) para distribuições Linux com suporte.
Distribuições Suportadas .NET Core 2.0
- Red Hat Enterprise Linux 7
- CentOS 7
- Oracle Linux 7
- Fedora 27
- Debian 9, 8.7 ou versões posteriores
- Ubuntu 18.04, 17.10, 16.04, 14.04
- Linux Mint 18, 17
- openSUSE 42.3 ou versões posteriores
- SUSE Enterprise Linux (SLES) 12 Service Pack 2 ou versões posteriores
Configuração de Ambiente no Linux Mint
Visual Studio Code
Editor de Código Fonte
O Visual Studio Code é um editor de código-fonte desenvolvido pela Microsoft para Windows, Linux e macOS. Ele inclui suporte para depuração, controle Git incorporado, realce de sintaxe, complementação inteligente de código, snippets e refatoração de código.
adicionar link para download
Instalação do .NET SDK
Registro da chave da Microsoft
wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
Instalação do .NET SDK via apt-get
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-2.0.0
Ferramenta CLI dotnet
O que é a ferramenta CLI dotnet?
É um driver geral para executar os comandos da linha de comando.
dotnet [command] [arguments] [--additional-deps] [--additionalprobingpath] [-d|--diagnostics] [--fx-version] [-h|--help] [--info] [--roll-forward-on-no-candidate-fx] [-v|--verbosity] [--version]
Comandos Básicos do dotnet
dotnet new
Cria um novo projeto, arquivo de configuração ou solução com base no modelo especificado..
Exemplo: dotnet new console - Cria um novo projeto com o tipo console
dotnet run
Executa o código-fonte sem qualquer comando de compilação ou inicialização explícito.
Exemplo: dotnet run - Executa o projeto no diretório atual
dotnet build
Compila um projeto e todas as suas dependências.
Exemplo: dotnet build - Compila um projeto do diretório atual e suas dependências
dotnet clean
Limpa a saída de um projeto.
Exemplo: dotnet clean - Limpa uma compilação padrão do projeto
dotnet publish
Empacota o aplicativo e suas dependências em uma pasta para implantação em um sistema de hospedagem.
Exemplo: dotnet publish -- configuration Release - Publica uma Release do projeto
dotnet publish
Parâmetros opcionais
-o|--output - Especifica o caminho para o diretório de saída.
-c|--configuration {Debug|Release} - Define a configuração da compilação. O valor padrão é Debug.
dotnet test
Driver de teste do .NET usado para executar testes de unidade.
Exemplo: dotnet test - Executa os testes no projeto no diretório atual
Hello World em .NET Core
Criar o projeto
Criar um projeto do tipo console em um diretorio nomeado HelloWorld:
dotnet new console –o MinhaAplicacao
Editar o projeto
No diretório HelloWorld, editar o arquivo program.cs e adicionar a mensagem:
Console.WriteLine (“Hello World .NET Core no Linux”);
Executar o projeto
No diretório HelloWorld, executar o projeto:
dotnet run
Publicar o projeto
No diretório HelloWorld, construir uma Release do projeto:
dotnet publish --configuration Release
Verificar se a Release foi gerada com sucesso no diretório padrão