ASP.NET 核心控制器注册授权包失败

ASP.NET Core Controllers Fail to Register with Authorization Package

如果我包含这个包,我的 asp.net 核心 3.1 项目会抛出异常(上下文:我正在尝试创建自定义授权策略):

<PackageReference Include="Microsoft.AspNetCore.Authorization" Version="5.0.3" />

这是在startup.cs中抛出的异常和方法:

services.AddControllers();
    System.ArgumentNullException: 'Value cannot be null. (Parameter 'configure')'

这是完整的软件包列表。有没有我不知道的冲突?当我创建 AuthorizationHandler class.

时,VS 建议使用该包
<PackageReference Include="Azure.Extensions.AspNetCore.Configuration.Secrets" Version="1.0.1" />
<PackageReference Include="Azure.Identity" Version="1.2.3" />
<PackageReference Include="Azure.Security.KeyVault.Secrets" Version="4.1.0" />
<PackageReference Include="CorrelationId" Version="3.0.0" />
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.15.0" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.AzureAD.UI" Version="3.1.7" />
<PackageReference Include="Microsoft.AspNetCore.Authorization" Version="5.0.3" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.9" />
<PackageReference Include="Microsoft.AspNetCore.OData" Version="7.5.2" />
<PackageReference Include="Microsoft.Identity.Web" Version="1.2.0" />
<PackageReference Include="NSwag.AspNetCore" Version="13.8.2" />

糟糕,看起来答案已经可用,我需要付出更多努力。我通过手动将软件包版本降级到 3.1.12 解决了这个问题,如 here 所述。看起来 VS 给了我包的 .net 版本而不是 .net 核心版本。