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

2 Comments

  1. Bruno Leite Bruno Leite

    Perfeito! Obrigado Batista. Resolveu meu problema.

  2. Wellington Hayner Wellington Hayner

    Cara onde clica pra dar um milhão de likes? Tava sofrendo com isso, eis que Deus me guiou até este post e segui os step by step e tudo se resolveu…

    Muito, muito e muito grato pela sua ajuda.

Deixe uma resposta

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