.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.

 

Comente, compartilhe, curta!

Logo abaixo desse texto você encontra os Posts Relacionados, e botões de compartilhamento, em seguida a sessão de comentários!

Gostou? Então aproveite para curtir, compartilhar e enviar comentários, dúvidas ou sugestões.

Conheça o Grupo Arquitetura de Softwate | .NET: Facebook e Telegram
Luiz Carlos Faria: Site, Youtube, Facebook, Twitter, Telegram, Linkedin e Email