Hi,
I'm trying to implement dependency injection in my project, but when executing it, the following error appears on the line where I register my AddInfraEstructure service:
System.InvalidCastException: 'Unable to cast object of type 'Microsoft.Extensions.DependencyInjection.ServiceCollection' to type 'System.IServiceProvider'.'
How do I do this type of conversion?
Code:
public static class DependencyInjection
{
public static IServiceProvider AddInfraEstructure(this IServiceCollection services,
IConfiguration configuration)
{
services.AddDbContext<AppDbContext>(options =>
options.UseSqlServer(configuration.GetConnectionString("DefaultConnection")));
services.AddScoped<IEstadoRepository, EstadoRepository>();
services.AddScoped<IUnidadeFederativaService, EstadoService>();
return services;
}
}
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Project.Infra.IoC;
using Project.MVC.MappingConfig;
namespace Project.MVC
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddInfraEstructure(Configuration);
services.AddAutoMapperConfiguration();
services.AddControllersWithViews();
services.AddRazorPages();
}
}
}