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

Web应用运行报错:无法加载Microsoft.Owin 3.0.1.0程序集

问题

运行Web应用时出现以下错误:

Could not load file or assembly 'Microsoft.Owin, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

程序集加载跟踪:

=== Pre-bind state information ===
LOG: DisplayName = Microsoft.Owin, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
 (Fully-specified)
LOG: Appbase = file:///C:/Projects/GIT/Site/Portal/
LOG: Initial PrivatePath = C:\Projects\GIT\Site\Portal\bin
Calling assembly : Microsoft.AspNet.Identity.Owin, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
===

应用中并未直接引用Microsoft.Owin 3.0.1.0版本,packages.config内容如下:

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Castle.Core" version="4.2.1" targetFramework="net452" />
  <package id="Crestron.NP.Legacy" version="1.0.7" targetFramework="net471" />
  <package id="Crestron.NP.Legacy.Wrappers.Telerik" version="2024.2.513" targetFramework="net471" />
  <package id="Crestron.NP.System.Enum" version="1.0.3" targetFramework="net452" />
  <package id="Crestron.NP.System.Security" version="2.2.2" targetFramework="net481" />
  <package id="EntityFramework" version="6.4.4" targetFramework="net471" />
  <package id="FluentAssertions" version="4.19.4" targetFramework="net452" />
  <package id="HtmlAgilityPack" version="1.8.5" targetFramework="net452" />
  <package id="jQuery" version="3.7.1" targetFramework="net481" />
  <package id="jQuery.UI.Combined" version="1.13.2" targetFramework="net481" />
  <package id="Microsoft.AspNet.Identity.Core" version="2.2.4" targetFramework="net481" />
  <package id="Microsoft.AspNet.Identity.Owin" version="2.2.4" targetFramework="net481" />
  <package id="Microsoft.AspNet.Razor" version="3.2.5" targetFramework="net452" />
  <package id="Microsoft.AspNet.WebPages" version="3.2.5" targetFramework="net452" />
  <package id="Microsoft.AspNet.WebPages.WebData" version="3.2.4" targetFramework="net452" />
  <package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.0" targetFramework="net452" requireReinstallation="true" />
  <package id="Microsoft.Exchange.WebServices" version="2.2" targetFramework="net471" />
  <package id="Microsoft.Extensions.Caching.Abstractions" version="3.1.2" targetFramework="net471" />
  <package id="Microsoft.Extensions.Caching.Memory" version="3.1.2" targetFramework="net471" />
  <package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="3.1.2" targetFramework="net471" />
  <package id="Microsoft.Extensions.Logging.Abstractions" version="3.1.2" targetFramework="net471" />
  <package id="Microsoft.Extensions.Options" version="3.1.2" targetFramework="net471" />
  <package id="Microsoft.Extensions.Primitives" version="3.1.2" targetFramework="net471" />
  <package id="Microsoft.Identity.Client" version="4.37.0" targetFramework="net471" />
  <package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="net471" />
  <package id="Microsoft.Owin" version="4.2.2" targetFramework="net481" />
  <package id="Microsoft.Owin.Host.SystemWeb" version="4.2.2" targetFramework="net481" />
  <package id="Microsoft.Owin.Security" version="4.2.2" targetFramework="net481" />
  <package id="Microsoft.Owin.Security.Cookies" version="4.2.2" targetFramework="net481" />
  <package id="Microsoft.Owin.Security.OAuth" version="4.2.2" targetFramework="net481" />
  <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net452" />
  <package id="NETStandard.Library" version="2.0.3" targetFramework="net481" />
  <package id="Newtonsoft.Json" version="13.0.3" targetFramework="net471" />
  <package id="Owin" version="1.0" targetFramework="net481" />
  <package id="Radius" version="2.0.0.2" targetFramework="net452" />
  <package id="RazorEngine" version="3.10.0" targetFramework="net452" />
  <package id="Syncfusion.Compression.Base" version="27.1.51" targetFramework="net481" />
  <package id="Syncfusion.DocIO.Wpf" version="27.1.51" targetFramework="net481" />
  <package id="Syncfusion.DocToPDFConverter.Wpf" version="27.1.51" targetFramework="net481" />
  <package id="Syncfusion.ExcelToPdfConverter.Wpf" version="27.1.51" targetFramework="net481" />
  <package id="Syncfusion.HtmlToPdfConverter.WPF" version="27.1.51" targetFramework="net481" />
  <package id="Syncfusion.Licensing" version="27.1.51" targetFramework="net481" />
  <package id="Syncfusion.OfficeChart.Base" version="27.1.51" targetFramework="net481" />
  <package id="Syncfusion.Pdf.Wpf" version="27.1.51" targetFramework="net481" />
  <package id="Syncfusion.XlsIO.Wpf" version="27.1.51" targetFramework="net481" />
  <package id="System.Buffers" version="4.4.0" targetFramework="net471" />
  <package id="System.Collections.Immutable" version="1.2.0" targetFramework="net471" />
  <package id="System.ComponentModel.Annotations" version="4.7.0" targetFramework="net471" />
  <package id="System.Linq.Dynamic" version="1.0.7" targetFramework="net452" />
  <package id="System.Memory" version="4.5.2" targetFramework="net471" />
  <package id="System.Numerics.Vectors" version="4.4.0" targetFramework="net471" />
  <package id="System.Reflection.Metadata" version="1.3.0" targetFramework="net471" />
  <package id="System.Runtime.CompilerServices.Unsafe" version="4.7.0" targetFramework="net471" />
  <package id="System.Text.Encoding.CodePages" version="4.4.0" targetFramework="net471" />
  <package id="System.ValueTuple" version="4.4.0" targetFramework="net45" requireReinstallation="true" />
</packages>

已尝试Visual Studio清理、删除obj和bin文件夹,错误仍存在,求解决办法。

解决方案
  • 添加程序集绑定重定向
    在web.config的<configuration>节点下添加以下<runtime>配置,强制将Microsoft.Owin的旧版本请求重定向到已安装的4.2.2版本:

    <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>
      </assemblyBinding>
    </runtime>
    
  • 检查间接依赖的包版本
    运行NuGet命令查看Microsoft.AspNet.Identity.Owin的依赖链,确认是否有依赖项引用了旧版本的Microsoft.Owin:

    Install-Package NuGet.CommandLine
    nuget list package Microsoft.AspNet.Identity.Owin -Dependencies
    

    如果发现有依赖包强制要求3.0.1.0版本,可尝试更新该依赖包到兼容4.2.2版本的最新版。

  • 重新安装所有NuGet包
    执行以下命令彻底清除并重新安装所有依赖包,确保版本一致:

    Update-Package -reinstall
    

    执行前建议备份packages.config文件,避免意外问题。

  • 检查GAC中的程序集
    打开命令提示符(管理员权限),运行以下命令检查全局程序集缓存中是否存在Microsoft.Owin 3.0.1.0版本:

    gacutil /l Microsoft.Owin
    

    如果存在,使用以下命令卸载该版本:

    gacutil /u Microsoft.Owin,Version=3.0.1.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35
    

内容的提问来源于stack exchange,提问作者Thierry Verhaegen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 16:57:01