【问题标题】:Problems with JWT Authentication after moving from ASP.NET Core 6.0 to 7.0 (AuthenticationConfigurationProviderExtensions)从 ASP.NET Core 6.0 迁移到 7.0 后的 JWT 身份验证问题 (AuthenticationConfigurationProviderExtensions)
【发布时间】:2022-11-12 16:16:48
【问题描述】:

我们开始将我们的应用程序从 ASP.NET Core 6.0 迁移到 7.0。该应用程序运行良好,具有基本的 JWT 身份验证模式。

更新后,我们开始收到此异常:

呼叫者: builder.Authentication.AddJwtBearer();

例外

TypeLoadException:无法加载类型 'Microsoft.AspNetCore.Authentication.AuthenticationConfigurationProviderExtensions' 来自程序集 'Microsoft.AspNetCore.Authentication, Version=7.0.0.0, 文化 = 中性,PublicKeyToken = adb9793829ddae60'。

Microsoft.AspNetCore.Authentication.JwtBearerConfigureOptions.Configure(字符串 名称,JwtBearerOptions 选项)

Microsoft.Extensions.Options.OptionsFactory.Create(字符串 姓名)

有任何想法吗?

谢谢你。

【问题讨论】:

  • Microsoft.AspNetCore.Authentication.JwtBearer 是 7.0 版吗?
  • @OkanKaradag,是的! 7.0.0

标签: c# asp.net .net asp.net-core


【解决方案1】:

显然,机器上同时安装的 .NET 7 版本(预览版和发布版)之间存在兼容性问题。就我而言,我安装了 .NET 7.0.100-preview.5.22307.187.0.100

即使在 .csprojects 上使用 7.0.0 包版本,我也遇到了这个问题。

遇到这个问题后,我刚刚从本地机器上卸载了 .NET 7.0.100-preview.5.22307.18,并将我的 Visual Studio 2022 更新为 17.4 版本。

运行这些步骤,所有这些问题都已成功解决。

恢复步骤:

  1. 从您的机器上卸载旧的预览版本: 版本:.NET 7.0.100-preview.5.22307.18

  2. 检查您是否正在运行最新版本的 .NET 7。今天(2022 年 11 月)我们最新的可用版本是 7.0.100

    检查您的软件包版本是否指向此新版本:

    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="7.0.0" />
    
    <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
    

    全部完成。

【讨论】:

    猜你喜欢
    • 2020-05-25
    • 2018-01-31
    • 2018-02-15
    • 2019-09-06
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    相关资源
    最近更新 更多