c# - Microsoft.AspNetCore.Identity.EntityFrameworkCore 3.1.2 对 .NET 4.7.x 项目有效吗?
问题描述
我有一个针对 .NET Framework 4.7.2 的 .NET 控制台项目。
它使用 Microsoft EntityFrameworkCore 3.1.2 和 Microsoft.AspNetCore.Identity.EntityFrameworkCore 2.2.0 它在运行时失败并出现以下错误:
System.MissingMethodException
HResult=0x80131513
Message=Méthode introuvable : 'Microsoft.EntityFrameworkCore.Metadata.Builders.IndexBuilder Microsoft.EntityFrameworkCore.Metadata.Builders.EntityTypeBuilder`1.HasIndex(System.Linq.Expressions.Expression`1<System.Func`2<System.__Canon,System.Object>>)'.
Source=Microsoft.AspNetCore.Identity.EntityFrameworkCore
StackTrace:
at Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserContext`5.<>c__DisplayClass20_0.<OnModelCreating>b__0(EntityTypeBuilder`1 b)
at Microsoft.EntityFrameworkCore.ModelBuilder.Entity[TEntity](Action`1 buildAction)
at Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityUserContext`5.OnModelCreating(ModelBuilder builder)
at Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityDbContext`8.OnModelCreating(ModelBuilder builder)
at RTE.Technologies.SafeProtect.Common.Data.DbContext.Core.IdentityDbContext.OnModelCreating(ModelBuilder modelBuilder) in D:\AzureDevops\SafeProtect.Common\SafeProtect.Common.Data\DbContext\Core\IdentityDbContext.cs:line 224
at Microsoft.EntityFrameworkCore.Infrastructure.ModelCustomizer.Customize(ModelBuilder modelBuilder, DbContext context)
at Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.CreateModel(DbContext context, IConventionSetBuilder conventionSetBuilder)
at Microsoft.EntityFrameworkCore.Infrastructure.ModelSource.GetModel(DbContext context, IConventionSetBuilder conventionSetBuilder)
at Microsoft.EntityFrameworkCore.Internal.DbContextServices.CreateModel()
at Microsoft.EntityFrameworkCore.Internal.DbContextServices.get_Model()
at Microsoft.EntityFrameworkCore.Infrastructure.EntityFrameworkServicesBuilder.<>c.<TryAddCoreServices>b__7_3(IServiceProvider p)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitFactory(FactoryCallSite factoryCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass1_0.<RealizeService>b__0(ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
at Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependencies()
at Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider()
at Microsoft.EntityFrameworkCore.DbContext.get_DbContextDependencies()
at Microsoft.EntityFrameworkCore.DbContext.Set[TEntity]()
at RTE.Technologies.SafeProtect.Common.Data.DbContext.Core.IdentityDbContext.RTE.Technologies.Common.EFCoreData.Interfaces.IDbContext<RTE.Technologies.SafeProtect.Common.Data.BusinessObjects.Models.WebAdminUser>.get_DbSet() in D:\AzureDevops\SafeProtect.Common\SafeProtect.Common.Data\DbContext\Core\IdentityDbContext.cs:line 156
at RTE.Technologies.Common.EFCoreData.Repositories.Repository`1..ctor(IDbContext`1 context)
at RTE.Technologies.Common.EFCoreData.Repositories.DisableableWithDateTimeRepository`1..ctor(IDbContext`1 context)
at RTE.Technologies.SafeProtect.Common.Data.DbContext.Core.IdentityDbContext.get_WebAdminUserRepository() in D:\AzureDevops\SafeProtect.Common\SafeProtect.Common.Data\DbContext\Core\IdentityDbContext.cs:line 127
at RTE.Technologies.SafeProtect.Common.Data.DataBridge.Core.IdentityDataBridge.GetAllUsersAdminEmailByCompanyId(Int32 companyId) in D:\AzureDevops\SafeProtect.Common\SafeProtect.Common.Data\DataBridge\Core\IdentityDataBridge.WebAdminUser.cs:line 69
at RTE.Technologies.SafeProtect.Common.DummyConsole.Program.Main(String[] args) in D:\AzureDevops\SafeProtect.Common\SafeProtect.Common.DummyConsole\Program.cs:line 45
我会说我应该将 Microsoft.AspNetCore.Identity.EntityFrameworkCore 升级到 3.1.2 版,但我不能:
无法安装包“Microsoft.AspNetCore.Identity.EntityFrameworkCore 3.1.2”。您正在尝试将此包安装到以“.NETFramework,Version=v4.7.2”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。有关详细信息,请联系包作者。
我的选择是什么,因为我坚持使用 EF Core 3.1.2,应该在多个针对 .NET Core 3.0 和 .NET Framework 4.7.2 的项目中使用它。
解决方案
您不能混合 3.x 和 2.x 依赖项
推荐阅读
- excel - 带负数的 Excel 条件数格式
- php - 为什么我的 cookie 不工作 PHP
- ruby-on-rails - 在 Rails 中解压 API 响应
- python - Numpy distutils 无法识别 Fortran 文件类型
- google-chrome - 我在哪里可以下载适用于 Mac 的 Google Chrome 67.0.3396.79?
- javascript - Codeigniter 通知系统 URL 结构
- angular - 更新 angular2-chartjs 中的图表数据
- python - 循环生成和执行命令不起作用
- ios - RxSwift 从一个创建多个 Observable
- ruby - NoMethodError:Lexicon:Class 的未定义方法“扫描”