Gerando um arquivo EXE com .NetCore

Olá pessoal,

O post de hoje é bem simples e rápido, apesar de ser uma questão muito pesquisada e nem sempre muito clara!

A idéia é simples, você está desenvolvendo com .Net Core e precisa publicar sua aplicação, mas produzindo um executável ao invés de uma DLL, que é o padrão da plataforma.

Mas porque produzir um executável ? Simples, para chamar diretamente sem o comando ‘dotnet’, ou seja, um executável self-contained deployment.

Mas então porque isto já não é feito quando usamos o comando dotnet publish ? Simples, porque o .Net Core é multiplataforma e arquivos .EXE existem no Windows.

Então vamos a solução!

Neste exemplo eu criei um projeto simples em console usando o comando:

dotnet new console

E para produzir a publicação do projeto, ou deploy, você usualmente chama o comando:

dotnet publish

Isto gera estes arquivos na pasta bin\debug:

Obs: Para gerar o arquivo em release, acrescente o parâmetro –c release ao comando.

Mas o que queremos é um executável, então vamos acrescentar o runtime ao comando:

dotnet publish –runtime win10-x64

Agora temos o nosso executável:

O comando acima indica a produção de um executável compatível com Windows 10 e 64 bits.

E veja que agora temos o arquivo .EXE!

Temos também uma pasta chama publish. Ela possui o que chamamos de self-contained deployment, ou seja, todos os arquivos necessários para executarmos nossa aplicação, incluindo os arquivos do .Net Core.

Você pode também mudar o framework de destino ou a plataforma!

Veja aqui a lista de Frameworks possíveis e aqui a lista das plataformas!

Abraços e até a próxima,
Carlos dos Santos.