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

Dan*_*hop 3 authorization asp.net-authorization asp.net-core

如果我包含此包,我的 asp.net core 3.1 项目会引发异常(上下文:I\xe2\x80\x99m 尝试创建自定义授权策略):

\n
<PackageReference Include="Microsoft.AspNetCore.Authorization" Version="5.0.3" />\n
Run Code Online (Sandbox Code Playgroud)\n

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

\n
services.AddControllers();\n    System.ArgumentNullException: \'Value cannot be null. (Parameter \'configure\')\'\n
Run Code Online (Sandbox Code Playgroud)\n

这是完整的软件包列表。是否存在一些我不知道的冲突?当我创建一个类时,VS 建议使用该包AuthorizationHandler

\n
<PackageReference Include="Azure.Extensions.AspNetCore.Configuration.Secrets" Version="1.0.1" />\n<PackageReference Include="Azure.Identity" Version="1.2.3" />\n<PackageReference Include="Azure.Security.KeyVault.Secrets" Version="4.1.0" />\n<PackageReference Include="CorrelationId" Version="3.0.0" />\n<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.15.0" />\n<PackageReference Include="Microsoft.AspNetCore.Authentication.AzureAD.UI" Version="3.1.7" />\n<PackageReference Include="Microsoft.AspNetCore.Authorization" Version="5.0.3" />\n<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.9" />\n<PackageReference Include="Microsoft.AspNetCore.OData" Version="7.5.2" />\n<PackageReference Include="Microsoft.Identity.Web" Version="1.2.0" />\n<PackageReference Include="NSwag.AspNetCore" Version="13.8.2" />\n
Run Code Online (Sandbox Code Playgroud)\n

Dan*_*hop 8

哎呀,看来只要我再多努力一点,答案就已经可用了。我通过手动将软件包版本降级到此处3.1.12所述解决了这个问题。看起来 VS 给了我该包的 .net 版本而不是 .net core 版本。