Promoção no ar
Tempo restante da oferta:
04 Horas
14 Min
21 Seg
Assinar →

Aplicações self-contained com o .NET Core

Aprenda a criar aplicações self-contained no .NET Core.

Wladimilson M. Nascimento 10 anos atrás

Algumas aplicações necessitam que as plataformas utilizadas sejam instaladas nas máquinas hosts. Exemplos disso são o Java Virtual Machine e o .NET Framework. Se você já programou para estas plataformas, sabe que a aplicação pode requerer que o .NET ou JVM estejam instalados para que ela rode.

Esse comportamento pode ser contornado criando-se uma aplicação self-contained. Aplicações self-contained, são as que já contêm o ambiente necessário para que ela seja executada.

Neste artigo veremos como criar uma aplicação self-contained com o .NET Core.

Curso C# (C Sharp) - Introdução ao ASP.NET Core Conhecer o curso

Criando a aplicação

Para exemplificar uma aplicação self-contained, primeiro temos que criar uma aplicação de exemplo. Ela poderia ser qualquer um dos tipos de aplicações suportados pelo .NET Core, mas para este artigo vou criar uma aplicação MVC:

dotnet new mvc -n App

Na aplicação criada é importante aplicar o restore:

dotnet restore

Compilar:

dotnet build

E executar para ver se está tudo certo:

dotnet run

Com a aplicação funcionando, podemos criar uma versão self-contained dela.

Criando uma aplicação self-contained

Para se definir que uma aplicação é self-contained é necessário fazer apenas uma pequena modificação nela. No arquivo .csproj, é necessário adicionar no elemento <PropertyGroup> a plataforma alvo. Por exemplo:

<PropertyGroup>
  <TargetFramework>netcoreapp1.1</TargetFramework>
  <RuntimeIdentifiers>win10-x64</RuntimeIdentifiers>
</PropertyGroup>

Acima é definido que a plataforma alvo da aplicação é o ambiente Windows 10 de 64bits. Após isso, é necessário aplicar o restore na aplicação:

dotnet restore

E informar esta plataforma na hora da publicação dela:

dotnet publish -c release -r win10-x64

Com isso, será gerado um arquivo .exe:

Que ao ser executado, irá iniciar a aplicação:

Caso queria definir outros ambientes para a aplicação, eles podem ser informados à tag <RuntimeIdentifiers> separados por ponto e vírgula:

<PropertyGroup>
  <TargetFramework>netcoreapp1.1</TargetFramework>
  <RuntimeIdentifiers>win10-x64;osx.10.12-x64;ubuntu.17.04-x64</RuntimeIdentifiers>
</PropertyGroup>

E depois de aplicar o restore:

dotnet restore

Basta informar para qual plataforma a aplicação deve ser gerada:

Mac OS X:

dotnet publish -c release -r osx.10.12-x64

Ubuntu:

dotnet publish -c release -r ubuntu.17.04-x644

Só é importante ficar atento se a plataforma alvo é suportada pelo .NET Core, caso contrário não vai funcionar.

Curso C# - Estrutura de dados e Collections Conhecer o curso

Continue lendo

Artigos relacionados

Um ano de acesso total para você viver de programação.

Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro console.log ao mercado de trabalho.

  • 1 ano de acesso a todos os cursos
  • Cursos novos toda semana
  • Suporte direto com professores
  • Plano de carreira personalizado
  • Certificados digitais inclusos
  • Aplicativos para Android e iOS, com acesso offline
Garantia incondicional de satisfação

Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

Acesso completo a todos os cursos e dezenas de Formações.

12 meses
Economize R$ 840,00 54% OFF

de 12x R$ 129,00 por apenas

12x R$ 59,00

sem juros no cartão de crédito ou R$ 599,00 à vista

Oferta termina em 04h 14min 21s

  • Acesso imediato e ilimitado durante 1 ano.
  • Plano de carreira personalizado.
  • Suporte direto com professores.
  • E muito mais!
Matricule-se agora