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

求助:.NET Framework 4.8 MVC集成Microsoft Entra ID遇OWIN方法缺失错误

解决ASP.NET MVC .NET Framework 4.8集成Entra ID时的OWIN认证错误

以下是针对你遇到的三类错误的具体解决步骤:

1. 确认并安装正确的NuGet包

确保项目中安装了以下OWIN相关包,且所有OWIN包版本完全一致(推荐稳定版本如4.2.2,避免版本冲突):

  • Microsoft.Owin.Security.OpenIdConnect
  • Microsoft.Owin.Security.Cookies
  • Microsoft.Owin.Host.SystemWeb
  • Microsoft.Owin(基础OWIN包,需和其他OWIN包版本统一)

可以通过NuGet包管理器控制台执行以下命令安装(替换版本号为你选择的稳定版本):

Install-Package Microsoft.Owin -Version 4.2.2
Install-Package Microsoft.Owin.Security.Cookies -Version 4.2.2
Install-Package Microsoft.Owin.Security.OpenIdConnect -Version 4.2.2
Install-Package Microsoft.Owin.Host.SystemWeb -Version 4.2.2

2. 检查并添加必要的命名空间

在Startup.Auth.cs文件顶部添加以下命名空间,确保能找到OpenIdConnect相关类型:

using Microsoft.Owin.Security;
using Microsoft.Owin.Security.Cookies;
using Microsoft.Owin.Security.OpenIdConnect;

3. 统一OWIN包版本并修复绑定重定向

如果项目中存在不同版本的OWIN包,会导致类型加载异常:

  • 打开NuGet包管理器,筛选项目中的“OWIN”相关包,将所有包的版本修改为同一稳定版本
  • 打开web.config,在<runtime>节点下添加绑定重定向配置(替换版本号为你使用的版本):
<runtime>
  <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-4.2.2.0" newVersion="4.2.2.0" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-4.2.2.0" newVersion="4.2.2.0" />
    </dependentAssembly>
    <dependentAssembly>
      <assemblyIdentity name="Microsoft.Owin.Security.OpenIdConnect" publicKeyToken="31bf3856ad364e35" culture="neutral" />
      <bindingRedirect oldVersion="0.0.0.0-4.2.2.0" newVersion="4.2.2.0" />
    </dependentAssembly>
  </assemblyBinding>
</runtime>

4. 清理并重建项目

  • 右键解决方案,选择“清理解决方案”
  • 手动删除项目目录下的bin和obj文件夹
  • 右键项目,选择“生成”或“重新生成”

5. 排除错误的包引用

确保没有误引用System.IdentityModel.Tokens.OpenIdConnect这类非OWIN的OpenIdConnect包,该包主要用于ASP.NET Core或Windows Identity Foundation(WIF)场景,和OWIN的Microsoft.Owin.Security.OpenIdConnect是完全不同的实现。

内容的提问来源于stack exchange,提问作者Menake Panduwawala

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 06:23:20