最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Update .NET 8 app to .NET 9EF Core 9 fails: "Method not found: void Microsoft.EntityFrameworkCore.Migrations.Internal.M

programmeradmin1浏览0评论

We recently started updating our existing .NET MAUI App from .NET 8 to .NET 9. Within this process, we naturally updated all our EF Core references to EF Core 9 as well. Now, the build of the app succeeds, but we get a runtime error when we try to access the database. In our case, we try to check if there have been previous migrations applied to the database. If not, we add triggers to our table.

The call which causes the exception:

var historyRepository = dbContext.GetService<IHistoryRepository>();

And it appears that the HistoryRepositoryDependencies can't be resolved properly.

{System.MissingMethodException: Method not found: void Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationsModelDiffer..ctor(Microsoft.EntityFrameworkCore.Storage.IRelationalTypeMappingSource,Microsoft.EntityFrameworkCore.Migrations.IMigrationsAnnotationProvider,Microsoft.EntityFrameworkCore.Update.Internal.IRowIdentityMapFactory,Microsoft.EntityFrameworkCore.Update.Internal.CommandBatchPreparerDependencies)
   at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Constructor(Object obj, IntPtr* args)
   at System.Reflection.MethodBaseInvoker.InvokeWithManyArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2[[Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext, Microsoft.Extensions.DependencyInjection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60],[System.Object, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].VisitCallSiteMain(ServiceCallSite callSite, RuntimeResolverContext argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2[[Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext, Microsoft.Extensions.DependencyInjection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60],[System.Object, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].VisitCallSite(ServiceCallSite callSite, RuntimeResolverContext argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2[[Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext, Microsoft.Extensions.DependencyInjection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60],[System.Object, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].VisitCallSiteMain(ServiceCallSite callSite, RuntimeResolverContext argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2[[Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext, Microsoft.Extensions.DependencyInjection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60],[System.Object, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].VisitCallSite(ServiceCallSite callSite, RuntimeResolverContext argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2[[Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext, Microsoft.Extensions.DependencyInjection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60],[System.Object, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].VisitCallSiteMain(ServiceCallSite callSite, RuntimeResolverContext argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2[[Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext, Microsoft.Extensions.DependencyInjection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60],[System.Object, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].VisitCallSite(ServiceCallSite callSite, RuntimeResolverContext argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2[[Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext, Microsoft.Extensions.DependencyInjection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60],[System.Object, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].VisitCallSiteMain(ServiceCallSite callSite, RuntimeResolverContext argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2[[Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext, Microsoft.Extensions.DependencyInjection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60],[System.Object, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].VisitCallSite(ServiceCallSite callSite, RuntimeResolverContext argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2[[Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext, Microsoft.Extensions.DependencyInjection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60],[System.Object, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].VisitCallSiteMain(ServiceCallSite callSite, RuntimeResolverContext argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2[[Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeResolverContext, Microsoft.Extensions.DependencyInjection, Version=9.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60],[System.Object, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].VisitCallSite(ServiceCallSite callSite, RuntimeResolverContext argument)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.RuntimeServiceProviderEngine.<>c__DisplayClass4_0.<RealizeService>b__0(ServiceProviderEngineScope scope)
   at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[IHistoryRepository](IServiceProvider provider)
   at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.GetRelationalService[IHistoryRepository](IInfrastructure`1 databaseFacade)
 <PackageReference Include="AutoMapper.Collection" Version="10.0.0" />
 <PackageReference Include="CommunityToolkit.Maui" Version="9.1.1" />
 <PackageReference Include="CommunityToolkit.Mvvm" Version="8.3.2" />
 <PackageReference Include="Laraue.EfCoreTriggers.SqlLite" Version="8.1.2" />
 <PackageReference Include="MediatR" Version="12.4.1" />
 <PackageReference Include="Microsoft.AppCenter.Analytics" Version="5.0.6" />
 <PackageReference Include="Microsoft.AppCenter.Crashes" Version="5.0.6" />
 <PackageReference Include="Microsoft.ApplicationInsights" Version="2.22.0" />
 <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="9.0.0" />
 <PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.0" />
 <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="9.0.0" />
 <PackageReference Include="Microsoft.Extensions.Localization.Abstractions" Version="9.0.0" />
 <PackageReference Include="Mopups" Version="1.3.2" />
 <PackageReference Include="OneOf" Version="3.0.271" />
 <PackageReference Include="Plugin.Maui.ScreenBrightness" Version="1.0.0-preview3" />
 <PackageReference Include="Prism.DryIoc.Maui" Version="9.0.537" />
 <PackageReference Include="Prism.Maui" Version="9.0.537" />
 <PackageReference Include="Prism.Maui.Rx" Version="9.0.537" />
 <PackageReference Include="PureWeen.Maui.FixesAndWorkarounds" Version="1.5.0" />
 <PackageReference Include="ReactiveUI.Fody" Version="19.5.1" />
 <PackageReference Include="ReactiveUI.Maui" Version="19.5.1" />
 <PackageReference Include="Serilog" Version="4.1.0" />
 <PackageReference Include="Serilog.Extensions.Logging" Version="8.0.0" />
 <PackageReference Include="Serilog.Formatting.Compact" Version="3.0.0" />
 <PackageReference Include="Serilog.Sinks.ApplicationInsights" Version="4.0.0" />
 <PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
 <PackageReference Include="Serilog.Sinks.File" Version="6.0.0" />
 <PackageReference Include="Shiny.Core" Version="3.3.3" />
 <PackageReference Include="Shiny.Extensions.Push.Abstractions" Version="1.1.0.60" />
 <PackageReference Include="Shiny.Hosting.Maui" Version="3.3.3" />
 <PackageReference Include="Shiny.Locations" Version="3.3.3" />
 <PackageReference Include="Shiny.Net.Http" Version="3.3.3" />
 <PackageReference Include="Shiny.Notifications" Version="3.3.3" />
 <PackageReference Include="Shiny.Push" Version="3.3.3" />
 <PackageReference Include="sqlite-net-pcl" Version="1.9.172" />
 <PackageReference Include="SQLitePCLRaw.bundle_green" Version="2.1.10" />
 <PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="8.2.1" />
 <PackageReference Include="Telerik.Documents.ImageUtils" Version="2024.3.806" />
 <PackageReference Include="Telerik.UI.for.Maui" Version="7.1.0" />
 <PackageReference Include="Xamarin.MediaGallery" Version="2.2.1" />
 <PackageReference Include="ZXing.Net.Maui" Version="0.4.0" />
 <PackageReference Include="ZXing.Net.Maui.Controls" Version="0.4.0" />

Do you have any ideas what the problem might be?

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论