【问题标题】:Blazor wasm unable to resolve AuthorizationOptions while attempting to activate DefaultAuthorizationPolicyProviderBlazor 在尝试激活 DefaultAuthorizationPolicyProvider 时无法解析 AuthorizationOptions
【发布时间】:2020-05-24 08:46:42
【问题描述】:

我正在开发 Blazor wasm 应用程序,在 App.razor 文件中添加 AuthorizeRouteView 组件时遇到异常。由于这方面的资源很少,我浪费了很多时间来解决这个问题,所以我想在这里分享解决方案:

错误信息是:

System.InvalidOperationException:尝试激活“Microsoft.AspNetCore.Authorization.DefaultAuthorizationPolicyProvider”时,无法解析“Microsoft.Extensions.Options.IOptions`1[Microsoft.AspNetCore.Authorization.AuthorizationOptions]”类型的服务。

软件包版本:

    <PackageReference Include="Microsoft.AspNetCore.Blazor.Build" Version="3.2.0-preview1.20073.1" PrivateAssets="all" />
    <PackageReference Include="Microsoft.AspNetCore.Blazor.DevServer" Version="3.2.0-preview1.20073.1" PrivateAssets="all" />
    <PackageReference Include="Microsoft.AspNetCore.Blazor.HttpClient" Version="3.2.0-preview1.20073.1" />
    <PackageReference Include="Microsoft.AspNetCore.Components.Authorization" Version="3.1.1" PrivateAssets="all"/>

以下描述我只需要在 Program.cs 服务中添加 AddAuthorizationCore():

builder.Services.AddAuthorizationCore();

这会产生上述异常...

【问题讨论】:

    标签: blazor asp.net-authorization blazor-client-side


    【解决方案1】:

    解决方案

    当我第一次将 AddOptions() 添加到 Program.cs 中的服务时,问题就解决了:

    builder.Services.AddOptions();
    builder.Services.AddAuthorizationCore();
    
    

    【讨论】:

      【解决方案2】:

      我有一个从 Blazor 3.1 preview 4 开始的项目,不需要这个“AddOptions”,一切都很好。 然后我将它迁移到 Blazor 3.2.0 预览版 1,做了所有推荐的东西(不再启动,只使用 program.cs 等等),突然一切都坏了。 LYper 的回答中的那两行解决了我的问题。谢谢。 有谁知道为什么???

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-04-06
        • 2021-08-25
        • 2020-02-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-26
        相关资源
        最近更新 更多