es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Microsoft.Extensions.DependencyInjection en una biblioteca de clases

Estoy creando una biblioteca de clases en C# para .NET 6 que realiza una serie de configuraciones para la configuración web y HTTP. En la variable IServiceCollection estoy intentando llamar al método Configure que recibe una sección, de la siguiente manera:

IServiceCollection services = ...
IConfigurationSection section = ...

services.Configure<mysettings>(section);

Si hago esto en un proyecto web, funciona perfectamente. Sin embargo, en el proyecto de la biblioteca de clases, el método de extensión que recibe un IConfigurationSection no existe.

En el proyecto web, parece que esto se encuentra en Microsoft.Extensions.DependencyInjection, pero debe estar en otro lugar. Para el proyecto de la biblioteca, incluí los siguientes paquetes NuGet:

xml
<itemgroup>
<packagereference include="Microsoft.AspNetCore.Http" version="2.2.2"></packagereference>
<packagereference include="Microsoft.AspNetCore.Http.Abstractions" version="2.2.0"></packagereference>
<packagereference include="Microsoft.AspNetCore.Http.Features" version="5.0.13"></packagereference>
<packagereference include="Microsoft.Extensions.Configuration.Abstractions" version="6.0.0"></packagereference>
<packagereference include="Microsoft.Extensions.DependencyInjection" version="6.0.0"></packagereference>
<packagereference include="Microsoft.Extensions.Http" version="6.0.0"></packagereference>
<packagereference include="Microsoft.Extensions.Logging.Abstractions" version="6.0.0"></packagereference>
<packagereference include="Microsoft.Extensions.Options" version="6.0.0"></packagereference>
<packagereference include="System.IdentityModel.Tokens.Jwt" version="6.15.0"></packagereference>
</itemgroup>

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que te falta el paquete Microsoft.Extensions.Configuration. Este paquete proporciona el método de extensión para registrar IConfigurationSection en IServiceCollection. Intenta agregarlo a la PackageReference de tu proyecto y verifica si esto resuelve el problema.

Comments are closed.