0

我正在为 .NET 6 制作一个 C# 类库,它为 Web 配置和 HTTP 进行了一系列设置。在IServiceCollection我试图调用Configure需要一个部分的方法,如下所示:

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


services.Configure<MySettings>(section);

如果我在 Web 项目中做到这一点,效果会很好。在类库项目中,IConfigurationSection不存在采用 an 的扩展方法。

在 web 项目中,这似乎来自 Microsoft.Extensions.DependencyInjection,但它必须在其他地方。对于库项目,我包含了以下 NuGet 包。

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Http" Version="2.2.2" />
    <PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.2.0" />
    <PackageReference Include="Microsoft.AspNetCore.Http.Features" Version="5.0.13" />
    <PackageReference Include="Microsoft.Extensions.Configuration.Abstractions" Version="6.0.0" />
    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.0" />
    <PackageReference Include="Microsoft.Extensions.Http" Version="6.0.0" />
    <PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.0" />
    <PackageReference Include="Microsoft.Extensions.Options" Version="6.0.0" />
    <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.15.0" />
  </ItemGroup>
4

1 回答 1

2

您缺少Microsoft.Extensions.Options.ConfigurationExtensions包。

另请注意,OptionsConfigurationServiceCollectionExtensions.Configure重载接受IConfiguration接口,它是IConfigurationSection.

于 2022-01-06T23:06:41.893 回答