Migrando uma aplicação ASP .NET Core 2.0 para ASP .NET Core 2.1

 Neste artigo veremos como migrar uma aplicação ASP .NET Core 2.0 para ASP .NET Core 2.1.

      

A versão da ASP.NET Core 2.1 já está disponível e vem com novos recursos como HTTPS por padrão, HTTPClientFactory, SignalR e outros. Veja aqui.

Para obter informações completas e detalhadas sobre o assunto consulte a documentação oficial em : Migrar do ASP .NET Core 2.0 para ASP .NET Core 2.1

A seguir vou apresentar um roteiro básico para migrar aplicações ASP .NET Core 2.0 para a nova versão.

1- Atualizar o framework para .NET Core 2.1

Podemos também editar o arquivo de projeto .csproj clicando com o botão direito do mouse sobre o projeto e a seguir clicando em Edit <nome_projeto>.csproj.

A seguir altere <TargetFramework> para :  <TargetFramework>netcoreapp2.1</TargetFramework>

2- Atualizar as referências aos pacotes

A ASP.NET Core 2.1 apresenta um novo meta-pacote chamado Microsoft.AspNetCore.App em substituição á referência Microsoft.AspNetCore.All.

Abaixo vemos o arquivo de projeto do projeto ASP .NET Core 2.0 usando a referência de pacote  Microsoft.AspNetCore.All :

Precisamos atualizar as versões para os pacotes Microsoft.AspNetCore, Microsoft.Extensions e Microsoft.EntityFrameworkCore para a versão 2.1.0.

Além disso, temos que atualizar as versões dos elementos <DotNetCliToolReference> para qualquer pacote Microsoft.VisualStudio e/ou Microsoft.EntityFrameworkCore para a versão 2.1.0.

Abaixo vemos o arquivo de projeto do projeto alterado para ASP .NET Core 2.1:

3- Remover referências aos elementos <DotNetCliToolReference> para os pacotes

Os pacotes a seguir agora são agrupados por padrão na CLI do .NET Core e não precisam ser instalados separadamente.

  • Microsoft.DotNet.Watcher.Tools (dotnet watch)
  • Entityframeworkcore (dotnet ef)
  • Microsoft.Extensions.Caching.SqlConfig.Tools (dotnet sql-cache)
  • Secretmanager (dotnet user-secrets)
  • Você também pode, opcionalmente, remover o elemento <DotNetCliToolReference> para o pacote : Microsoft.VisualStudio.Web.CodeGeneration.Tools.

    Nota: Se desejar você pode substituir essa ferramenta por uma versão instalada globalmente executando o comando: dotnet tool install -g dotnet-aspnet-codegenerator.

    Abaixo vemos o arquivo de projeto com o elemento <DotNetCliToolReference> já removido:

    Como o meu projeto usava o BrowserLink tive que incluir o pacote Microsoft.VisualStudio.Web.BrowserLink no projeto.

    Nota: Podemos também simplesmente remover a linha que chama BrowserLink.

    Esses são os ajustes básicos mais importantes mas dependendo do tipo da sua aplicação e dos pacotes que você esta utilizando talvez seja necessário realizar outras atualizações.

    Fazendo outros ajustes...

    4 - Alterando o arquivo Program.cs

    Abaixo vemos o código do arquivo Program.cs da aplicação ASP .NET Core 2.0 :

    Na ASP .NET Core 2.1 o comando BuildWebHost foi alterado para CreateWebHostBuilder. (A alteração não é obrigatório pois o código anterior ainda funciona)

    Abaixo vemos o código atualizado para a versão 2.1 :

    A interface IWebHostBuilder foi adicionada para dar suporte a uma nova infraestrutura de teste de integração.

    5 - Habilitando o HTTPS

    Para ativar o HTTPS, precisamos adicionar 2 middlewares ao método Configure.

    Abra classe Startup.cs e navegue até o método Configure.

    Inclua uma chamada para incluir o middleware HSTS após o middleware do manipulador de exceções: app.UseHsts();

    A seguir adicione uma chamada para adicionar o middleware de redirecionamento HTTPS antes do middleware de arquivos estáticos: app.UseHttpsRedirection();

    O protocolo HSTS força os clientes (navegadores da web) a interagir com o servidor por meio de conexões HTTPS.

    O protocolo HSTS é normalmente usado em cenários de não desenvolvimento, portanto, o middleware UseHsTs() é adicionado na outra parte do código.

    Após esses ajustes, precisamos ativar o SSL para o projeto.

    Para fazer isso, clique com o botão direito do mouse no projeto e, em seguida em Properties;

    Clique na tab Debug e marque a caixa de seleção “Enable SSL” e salve as alterações.

    A seguier, adicione uma variável de ambiente chamada ASPNETCORE_HTTPS_PORT e defina seu valor para o número da porta exibido na URL na caixa de seleção "Enable SSL".

    Calma que ainda não terminou....

    Finalmente abra o arquivo launchSettings.json localizado em Properties.

    No arquivo launchSettings.json, adicione uma nova propriedade “sslPort” na seção “iisSettings”/”iisExpress”.

    O valor será o número da porta SSL configurado para a variável de ambiente ASPNETCORE_HTTPS_PORT.

    Pronto , agora essas configurações serão lidas pelo middleware de redirecionamento HTTPS para garantir que as solicitações não HTTPS sejam redirecionadas para a porta correta.

    Existem outras alterações como no código de autenticação que agora pode ser usado como uma biblioteca de classes Razor (RCL).

    Até o próximo artigo.

    "Porque o coração deste povo está endurecido,E ouviram de mau grado com seus ouvidos,E fecharam seus olhos;Para que não vejam com os olhos,E ouçam com os ouvidos,e compreendam com o coração,e se convertam,e eu os cure."
    Mateus 13:15

    Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

    Quer migrar para o VB .NET ?

    Quer aprender C# ??

    Quer aprender os conceitos da Programação Orientada a objetos ?

    Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

      Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

    Referências:


    José Carlos Macoratti