🐧

Usando .NET Core no Linux

* * *

Github

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:

  1. Plataforma cruzada
  2. Implantação flexível
  3. Ferramentas de linha de comando
  4. Compatibilidade
  5. Open source
  6. 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


  1. Red Hat Enterprise Linux 7
  2. CentOS 7
  3. Oracle Linux 7
  4. Fedora 27
  5. Debian 9, 8.7 ou versões posteriores
  6. Ubuntu 18.04, 17.10, 16.04, 14.04
  7. Linux Mint 18, 17
  8. openSUSE 42.3 ou versões posteriores
  9. 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

🐧

Obrigado pela atenção!

@Tuxpilgrim