Skip to content

Mudanças que quebram o código no .Net Core 2.1 e saiba como resolver

Para aqueles que vêm atualizando algum aplicativo .Net Core desde a versão 1.0 sabe que toda atualização alguma coisa para de funcionar. Eu acho normal isso, já que este framework é novo e muita coisa está sendo atualizada. No artigo de hoje quero mostrar o que está quebrando quando você atualiza da versão 2.0 para 2.1 e como resolver

# 1 – Migration

“Unable to create an object of type ‘ApplicationDbContext’. Add an implementation of ‘IDesignTimeDbContextFactory<ApplicationDbContext>’ to the project, or see https://go.microsoft.com/fwlink/?linkid=851728 for additional patterns supported at design time.”

Conforme o erro acima descreve, no .Net Core 2.1 é necessário inserir uma implementação da interface IDesignTimeDebContextFactory, mas como? Segue o código abaixo.

 

Como podem ver, criei uma factory que implementa a interface em questão. A ideia dessa classe é simples, instanciar a classe de contexto do Entity Framework.

Além disso, outra coisa que faço é obter a string de conexão que está no arquivo de configuração da aplicação  através da classe ConfigurationBuilder. Isso irá funcionar mesmo que seu projeto web e de dados sejam separados. Mas para que eu consiga ler o arquivo de configuração é necessário que o pacote Microsoft.Extensions.Configuration.Json esteja instalado no projeto.

# 2 – Cookie do Indentity

Bom, A configuração do cookie sempre era feita dentro das configurações do Identity. Para min isso faz todo sentido, já que lá você configura o caminho do login para o usuário acessar quando não está autenticado. Mas na versão 2.1 os engenheiros da Microsoft pensaram diferente.

Agora você apaga aquela linha que existia nas configurações do Identity e coloca em uma linha à parte conforme o código abaixo.

Como podem ver, existe um novo método no serviço chamado ConfigureApplicationCookie e lá você informa qual é o caminho para autenticação. Como podem ver, Cookies.ApplicationCookie.LoginPath não existe mais.

Bom galera, é isso, espero ajudar aqueles que não estão conseguindo.

Abraços!

Você gostou desse artigo? Gostaria de saber mais sobre Testes? Eu desenvolvi um curso na Udemy, preço camarada. Acesse https://www.udemy.com/automatizando-testes-para-sua-aplicacao

Published in.Net Core

Be First to Comment

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *