You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在.NET 5.0类库项目中实现自定义AuthenticationHandler<TOptions>

.NET 5.0类库实现自定义AuthenticationHandler的正确方案

核心解决方法

修改类库项目的.csproj配置,添加ASP.NET Core共享框架引用,具体配置如下:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <!-- 保持目标框架为net5.0即可,不需要调整 -->
    <TargetFramework>net5.0</TargetFramework>
  </PropertyGroup>

  <!-- 新增这段配置,引用ASP.NET Core共享框架 -->
  <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
  </ItemGroup>
</Project>

配置说明

  • 该方式是.NET Core 3.0及以后版本官方推荐的在类库中引用ASP.NET Core公共类型的方案,不需要额外安装任何NuGet包
  • 共享框架版本会自动和最终托管的ASP.NET Core应用版本对齐,不会出现之前的依赖冲突问题
  • 配置完成后即可直接在类库中继承AuthenticationHandler<TOptions>实现自定义逻辑,不需要手动实现完整的IAuthenticationHandler接口

常见错误原因说明

  • 单独引用Microsoft.AspNetCore.Authentication NuGet包:.NET 5.0后该包已停止单独发布,相关类型全部整合到共享框架中,引用旧版本包会和运行时自带的类型产生冲突
  • 手动添加Microsoft.AspNetCore.App.Ref引用:该包是SDK内部使用的编译时引用包,不支持手动在项目中直接引用,因此会报框架不兼容错误

内容的提问来源于stack exchange,提问作者Goncalo Oliveira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 10:21:00