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

使用Hangfire Server结合Redis Pro时触发System.MissingMethodException异常求助

解决Hangfire Pro Redis与StackExchange.Redis版本冲突导致的MissingMethodException

这个错误是典型的版本兼容性问题——你项目中使用的Hangfire.Pro.Redis版本依赖的StackExchange.Redis版本,和当前项目实际引用的StackExchange.Redis版本不匹配,导致运行时找不到StackExchange.Redis.IRedisAsync.get_Multiplexer()这个方法。

我给你几个具体的解决步骤:

  • 先确认Hangfire.Pro.Redis的兼容版本要求:打开NuGet包管理器,查看你安装的Hangfire.Pro.Redis版本对应的依赖项,找到它要求的StackExchange.Redis版本范围(比如有些版本要求2.6.x及以上,不能用3.x的预览版)。
  • 统一项目中StackExchange.Redis的版本:在你的.csproj文件里,确保所有直接或间接引用StackExchange.Redis的地方都使用同一个符合要求的版本。比如如果Hangfire.Pro.Redis 3.0.0需要StackExchange.Redis >=2.6.0,就明确指定版本:
    <ItemGroup>
      <PackageReference Include="StackExchange.Redis" Version="2.6.122" />
      <PackageReference Include="Hangfire.Pro.Redis" Version="3.0.0" />
    </ItemGroup>
    
  • 清理项目依赖:删除项目根目录下的bin和obj文件夹,然后执行dotnet clean和dotnet restore命令,重新加载所有依赖,避免旧版本的dll残留。
  • 排查间接依赖冲突:如果还是有问题,用dotnet list package --include-transitive命令列出所有项目依赖(包括间接引用的包),看看有没有其他包强制引入了不兼容的StackExchange.Redis版本,然后通过<PackageReference>的Version属性强制统一版本。

你遇到的异常信息:

System.MissingMethodException: 未找到方法: 'StackExchange.Redis.ConnectionMultiplexer StackExchange.Redis.IRedisAsync.get_Multiplexer()'。
在 Hangfire.Pro.Redis.RedisStorage.GetMasterEndpoint()
在 Hangfire.Pro.Redis.RedisStorage.ToString()
在 System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args)
在 System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args)
在 Hangfire.BackgroundJobServer..ctor(BackgroundJobServerOptions options, JobStorage storage, IEnumerable1 additionalProcesses, IJobFilterProvider filterProvider, JobActivator activator, IBackgroundJobFactory factory, IBackgroundJobPerformer performer, IBackgroundJobStateChanger stateChanger) 在 Hangfire.HangfireApplicationBuilderExtensions.UseHangfireServer(IApplicationBuilder app, BackgroundJobServerOptions options, IEnumerable1 additionalProcesses, JobStorage storage)
在 UlysOpusApi.Configuration.Hangfire.HangfireMiddlewareConfiguration.UseHangfire(IApplicationBuilder app, HangfireConfiguration configuration) 位置 C:\Work\interface_opus_digital\UlysOpusApi\Main\4_Infrastructure\UlysOpusApi.Configuration\HangFire\HangfireMiddlewareConfiguration.cs:行号 17
在 UlysOpusApi.Web.Startup.Configure(IApplicationBuilder app, IApplicationLifetime applicationLifetime, IHostingEnvironment env, ILogger logger, IHangfireService hangfireService, IOptions1 swaggerConfiguration, IOptions1 hangfireConfiguration) 位置 C:\Work\interface_opus_digital\UlysOpusApi\Main\1_DistributedInterfaceLayer\UlysOpusApi.Web\Startup.cs:行号 95
--- 引发异常的上一位置中堆栈跟踪的末尾 ---
在 Microsoft.AspNetCore.Hosting.ConventionBasedStartup.Configure(IApplicationBuilder app)
在 Microsoft.ApplicationInsights.AspNetCore.ApplicationInsightsStartupFilter.<>c__DisplayClass2_0.b__0(IApplicationBuilder app)
在 Microsoft.Extensions.DependencyInjection.AutoRegisterMiddleware.<>c__DisplayClass4_0.b__0(IApplicationBuilder app) 位置 E:\BA\56\s\src\Microsoft.AspNetCore.Mvc.Versioning\Microsoft.Extensions.DependencyInjection\AutoRegisterMiddleware.cs:行号 46
在 Microsoft.AspNetCore.Mvc.Internal.MiddlewareFilterBuilderStartupFilter.<>c__DisplayClass0_0.g__MiddlewareFilterBuilder|0(IApplicationBuilder builder)
在 Microsoft.AspNetCore.Server.IIS.Core.IISServerSetupFilter.<>c__DisplayClass2_0.b__0(IApplicationBuilder app)
在 Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.b__0(IApplicationBuilder app)
在 Microsoft.AspNetCore.Hosting.Internal.AutoRequestServicesStartupFilter.<>c__DisplayClass0_0.b__0(IApplicationBuilder builder)
在 Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 15:57:32