0
respostas

Erro em services.AddTransient

Pessoal, eu tenho uma aplicação antiga e estou tentando migrar para EntityFramework (acho que será um bom exercício)... Bem, no arquivo Startup fiz assim

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();

    // CAPTURA OS DADOS DE CONEXÃO COM O BANCO DE DADOS
    string connectionString = Configuration.GetConnectionString("Default");
      services.AddDbContext<ToolsContext>(options => options.UseSqlServer(connectionString)
    );

    // INICIA A CONEXAO COM OS OBJETOS
    services.AddTransient<IFormulario_Repository, Formulario_Repository>();
    services.AddTransient<IMunicipio_Repository, Municipio_Repository>();
    services.AddTransient<IUnidadeFederativa_Repository, UnidadeFederativa_Repository>();
}

O problema é que quando executo o comando "EntityFrameworkCore\Add-Migration Modelo_Inicial" ou inicializo a aplicação, dá o erro abaixo

An error occurred while accessing the Microsoft.Extensions.Hosting services. Continuing without the application service provider. Error: Some services are not able to be constructed (Error while validating the service descriptor 'ServiceType: Tools_v2.Repositories.dbo.IFormulario_Repository Lifetime: Transient ImplementationType: Tools_v2.Repositories.dbo.Formulario_Repository': Unable to resolve service for type 'Microsoft.AspNetCore.Http.IHttpContextAccessor' while attempting to activate Tools_v2.Repositories.dbo.Formulario_Repository'.)

E este erro é apresentado para cada uma das injeções de dependência. Depois de muito pesquisar cheguei no link abaixo

https://stackoverflow.com/questions/37371264/invalidoperationexception-unable-to-resolve-service-for-type-microsoft-aspnetc

A solução? Adicionar a linha abaixo;

services.AddHttpContextAccessor();