Entity framework core 方法';获取信息';类型为';Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal.SQLServerOptions扩展

Entity framework core 方法';获取信息';类型为';Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal.SQLServerOptions扩展,entity-framework-core,Entity Framework Core,我将我的web api从.netcore2.1升级到3.1,并将所有nuget软件包更新到最新版本。 现在,我的api抛出以下错误 {"StatusCode":500,"ErrorMessage":"Internal server error: Method 'get_Info' in type 'Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal.SqlServerOptionsExtension' from ass

我将我的web api从.netcore2.1升级到3.1,并将所有nuget软件包更新到最新版本。 现在,我的api抛出以下错误

{"StatusCode":500,"ErrorMessage":"Internal server error: Method 'get_Info' in type 'Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal.SqlServerOptionsExtension' 
from assembly 'Microsoft.EntityFrameworkCore.SqlServer, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' does not have an implementation
Stack:   at Microsoft.EntityFrameworkCore.SqlServerDbContextOptionsExtensions.UseSqlServer
at MyApi3.Startup.<ConfigureServices>b__4_0(DbContextOptionsBuilder options) in D:\\a\\1\\s\\MyApi3\\Startup.cs:line 58\  
at Microsoft.Extensions.DependencyInjection.EntityFrameworkServiceCollectionExtensions.<>c__DisplayClass1_0`2.<AddDbContext>b__0(IServiceProvider p, DbContextOptionsBuilder b)
at Microsoft.Extensions.DependencyInjection.EntityFrameworkServiceCollectionExtensions.CreateDbContextOptions[TContext](IServiceProvider applicationServiceProvider, Action`2 optionsAction)
at Microsoft.Extensions.DependencyInjection.EntityFrameworkServiceCollectionExtensions.<>c__DisplayClass10_0`1.<AddCoreServices>b__0(IServiceProvider p)
at ResolveService(ILEmitResolverBuilderRuntimeContext , ServiceProviderEngineScope ) 
at ResolveService(ILEmitResolverBuilderRuntimeContext , ServiceProviderEngineScope )
at ResolveService(ILEmitResolverBuilderRuntimeContext , ServiceProviderEngineScope )
at ResolveService(ILEmitResolverBuilderRuntimeContext , ServiceProviderEngineScope )
at ResolveService(ILEmitResolverBuilderRuntimeContext , ServiceProviderEngineScope )
at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.GetService(IServiceProvider sp, Type type, Type requiredBy, Boolean isDefaultParameterRequired)\r\n   at lambda_method(Closure , IServiceProvider , Object[] 
at Microsoft.AspNetCore.Mvc.Controllers.ControllerActivatorProvider.<>c__DisplayClass4_0.<CreateActivator>b__0(ControllerContext controllerContext)
at Microsoft.AspNetCore.Mvc.Controllers.ControllerFactoryProvider.<>c__DisplayClass5_0.<CreateControllerFactory>g__CreateController|0(ControllerContext controllerContext)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
-- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
at Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)","SystemMessage":"Method 'get_Info' in type 'Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal.SqlServerOptionsExtension' 
from assembly 'Microsoft.EntityFrameworkCore.SqlServer, Version=2.1.1.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' does not have an implementation."}
{“StatusCode”:500,“ErrorMessage”:“内部服务器错误:类型为“Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal.SqlServerOptionsExtension”的方法“get_Info”
程序集“Microsoft.EntityFrameworkCore.SqlServer,版本=2.1.1.0,区域性=中性,PublicKeyToken=adb9793829ddae60”中没有实现
堆栈:位于Microsoft.EntityFrameworkCore.SQLServerDBContextOptions Extensions.UseSqlServer
在D:\\a\\1\\s\\MyApi3\\Startup.cs:第58行中的MyApi3.Startup.b_uu4_0(DbContextOptionsBuilder选项)处
在Microsoft.Extensions.DependencyInjection.EntityFrameworkServiceCollectionExtensions.c__显示类1_0`2.b_0(IServiceProvider p,DBContextOptions Builder b)
在Microsoft.Extensions.DependencyInjection.EntityFrameworkServiceCollectionExtensions.CreateDbContextOptions[TContext](IServiceProvider应用程序服务提供程序,操作`2选项操作)
在Microsoft.Extensions.DependencyInjection.EntityFrameworkServiceCollectionExtensions.c_uuDisplayClass10_0`1.b_uu0(IServiceProvider p)
在ResolveService(ILEmitResolverBuilderRuntimeContext,ServiceProviderEngineeScope)
在ResolveService(ILEmitResolverBuilderRuntimeContext,ServiceProviderEngineeScope)
在ResolveService(ILEmitResolverBuilderRuntimeContext,ServiceProviderEngineeScope)
在ResolveService(ILEmitResolverBuilderRuntimeContext,ServiceProviderEngineeScope)
在ResolveService(ILEmitResolverBuilderRuntimeContext,ServiceProviderEngineeScope)
在Microsoft.Extensions.DependencyInjection.ActivatorUtilities.GetService(IServiceProvider sp,类型类型,类型requiredBy,布尔值isDefaultParameterRequired)\r\n lambda_方法(闭包,IServiceProvider,对象[])
在Microsoft.AspNetCore.Mvc.Controllers.ControllerActivatorProvider.c__显示Class4_0.b__0(ControllerContext ControllerContext)
在Microsoft.AspNetCore.Mvc.Controllers.ControllerFactoryProvider.c_uuDisplayClass5_0.g_uCreateController | 0(ControllerContext ControllerContext)
位于Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(状态和下一步、范围和范围、对象和状态、布尔值和isCompleted)
在Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()中
---来自引发异常的上一个位置的堆栈结束跟踪---
在Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g_|24_0(ResourceInvoker invoker、Task lastTask、State next、Scope Scope、Object State、Boolean isCompleted)\
位于Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed上下文)
位于Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(状态和下一步、范围和范围、对象和状态、布尔值和isCompleted)
在Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()中
--来自引发异常的上一个位置的堆栈结束跟踪---
在Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g|u记录| 17|u 1(ResourceInvoker invoker)
在Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext HttpContext)中
位于swashback.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext HttpContext)
位于swashback.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext-HttpContext,ISwaggerProvider-swaggerProvider)
在Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.g_u等待| 6_0(ExceptionHandlerMiddleware,HttpContext上下文,任务任务任务)”,“SystemMessage:“方法”get_Info“类型为”Microsoft.EntityFrameworkCore.SqlServer.Infrastructure.Internal.SqlServerOptionExtension”
程序集“Microsoft.EntityFrameworkCore.SqlServer,版本=2.1.1.0,区域性=中性,PublicKeyToken=adb9793829ddae60”中没有实现。“}

我添加了以下软件包,问题得到了解决

Microsoft.EntityFrameworkCore.SQLServer (3.1.2)
and Microsoft.EntityFrameworkCore (3.1.2)

有趣的是,我得到了一个运行时错误,而不是生成错误。

我想知道运行时错误而不是生成错误是否是由于使用了虚张声势中间件