Hangfire 后台作业创建失败,出现 InvalidCastException

Hangfire Background job creation failed with InvalidCastException

我正在尝试在我的 .net 核心中添加 hangfire project.It 创建 Hangfire 数据库,但每当我尝试添加重复作业或后台作业时都会抛出异常

Hangfire.BackgroundJobClientException: Background job creation failed. See inner exception for details. ---> System.InvalidCastException: Unable to cast object of type 'System.Data.SqlClient.SqlConnection' to type 'Microsoft.Data.SqlClient.SqlConnection'.

这是我的代码

services.AddHangfire(config =>
        config.SetDataCompatibilityLevel(CompatibilityLevel.Version_170)
        .UseSimpleAssemblyNameTypeSerializer()
        .UseDefaultTypeSerializer()
        .UseSqlServerStorage(Configuration.GetConnectionString("Hangfire"),
        new Hangfire.SqlServer.SqlServerStorageOptions
        {
            SchemaName = "Test"
        }));
        services.AddHangfireServer();

        app.UseHangfireDashboard();
        backgroundJobClient.Enqueue(() => Console.WriteLine("Hello Hanfire job!"));

我认为我使用的 Hangfire 软件包版本可能存在一些问题,所以我也尝试了以前的版本,但没有任何区别。 我发现的一个建议是用 Microsoft.Data.SqlClient 替换 System.Data.SqlClient 库,但这是不可能的,因为 Hangfire.SqlServer 需要 System.Data.SqlClient.

我可以通过使用 Microsoft.Data.SqlClient 而不是像这样 System.Data.SqlClient 来解决问题

.UseSqlServerStorage(() => new Microsoft.Data.SqlClient.SqlConnection(Configuration.GetConnectionString("Hangfire"))