.NET Cross PlatformDesenvolvimentoSolutions & Design Gallery

Vamos direto ao ponto: A intenção desse post é apresentar como migrar seus projetos do .NET Core 2.0-preview2 pra o .NET Core 2.0 RTM. Sim, esse é um tutorial, e visa apresentar o que é necessário para fazê-lo.

O .NET Core 2 foi anunciado no dia 14 de agosto e para quem estava usando o 2.0-preview2 algumas coisas simplesmente pararam de funcionar do dia para a noite.

Essa quebra que fez as coisas pararem está relacionada às imagens do Docker com as tags 2.0 que antes estavam com o preview2, passaram a ser compiladas com a versão RTM. Naquele momento para que as coisas continuassem funcionando era necessário utilizar as imagens com o sufixo “-preview2”, o que não era necessário até então.

Update do Visual Studio

Como eu já estava usando o Visual Studio Enterprise 2017 Preview, comecei pelo update para a versão 15.3.1 Preview 1.0, disponível para download a partir do Visual Studio Installer.

Aproveitei para fazer um reset factory reset no meu docker for windows, já que havia muito lixo, tanto em configurações, afinal de testes e aprendizado vivemos! Em seguida fiz o download das imagens-base para otimizar o tempo de build. Tenho alguns scripts rodando nos servidores de build e um deles faz download das imagens-base que uso nos meus projetos diariamente, assim garanto que a cada novo build, dificilmente vou ter de esperar esse download, compartilho abaixo meu docker-pull diário:

Basicamente tudo o que eu uso no dia-a-dia se baseia em alguma dessas imagens, ou precisa delas para ser gerado. Você não precisa fazer isso, mas ajuda já ter as imagens aspnetcore-build:2.0, aspnetcore:2.0, dotnet:2.0-sdk e dotnet:2.0-runtime. Escolha o par que melhor se encaixa no que você está desenvolvendo. São pares compostos por build/sdk e runtime.

Instalação do .NET Core 2

Você vai precisar fazer download do novo sdk, disponível no site do .Net Core a versão atual do instalador é dotnet-sdk-2.0.0-win-gs-x64.exe.

Rodei dotnet –version antes e depois da instalação para garantir que meu ambiente estava ok, e segue o resultado:

Ao final da instalação você recebe um aviso com alguns links interessantes, resolvi copiar para que possam ir às documentações listadas antes de instalar.

A instalação realiza o setup do SDK, Runtime e Runtime Package Store.

Atualizando o projeto

Ao abrir o sua solution você precisará realizar o update das dependências de 2.0.0-preview2-final para 2.0.0. Isso é o suficiente!

Bom, o último passo foi atualizar as imagens-base utilizadas para o deploy com docker.

A propósito esse dockerfile é motivo de um post inteiro. Esse é um build de produção de um produto que estou desenvolvendo, dedicado à gestão de Docker e Load Balancer. Como o front é Angular 4, aproveitei para embarcá-lo junto com a app MVC, mas isso só acontece fora do ambiente de desenvolvimento, assim evito ter a necessidade de entregar 2 containers para a aplicação. O resultado é fantástico, pois simplifica o deploy, já que ASP.NET Core suporta arquivos estáticos, o necessário para hospedar minha app angular junto com a API. Vale lembrar que esse é um produto de gestão, então quanto menor a quantidade de containers para que ele rode, melhor, pois facilita o deploy. Isso não é verdade quando precisamos escalar API’s e então nesse caso seria mais prudente isolar front e api para que seja possível escalar individualmente cada elemento da arquitetura.

 

Atenção

As imagens docker com tag 2.0 e 2.0.0 mudaram. Antes do lançamento do .NET Core 2 RTM, as imagens com essas tags eram destinadas ao 2.0.0-Preview 2, assim que lançaram a versão final, essas tags deram lugar à versão final. Isso significa que há grande probabilidade de que seu host docker esteja com imagens antigas. Remova-as (para que seja baixadas novamente na medida que for necessário) ou faça pull destas imagens. A título de curiosidade essas imagens têm sido atualizadas quase todos os dias.

Desde o dia 14, quando passei a automatizar e monitorar essas imagens as atualizações têm sido diárias de segunda a sexta.

 

 

Quer saber mais sobre .NET Core 2.0? Tem evento online hoje!

 

Hoje eu, Renato Groff e  André Secco vamos falar sobre o lançamento do .NET Core 2 no Coding Night no Mesa Redonda #5 – .NET Core/Standard 2.0.

Como sempre, transmitido ao vivo, pelo Youtube 22 horas!

Mesa Redonda #5 – .NET Core/Standard 2.0

sexta-feira, 18 agosto 2017 10:00 pm

@ https://www.youtube.com/watch?v=qFFSApLM7QQ

Creator: Coding Night

Então está combinado, nos vemos hoje no Coding Night, se quiser, pode deixar um comentário, para tirar dúvidas ou expressar sua opinião mesmo.

 

Saiba mais

Para mais posts como esse você pode curtir a página no Facebook, ou seguir no Twitter. Todos os vídeos são publicados no meu canal do Youtube (se inscreva e não esqueça de ativar as notificações). Discutimos arquitetura e compartilho muitos links legais no Grupo Arquitetura de Softwate | .NET do Facebook (que também possui um grupo de chat no Telegram).

Se quiser saber um pouco mais sobre mim, visite a página Carreira aqui no site ou no Linkedin. Você pode entrar em contato diretamente pelo Telegram ou Email !