我正在尝试将初始迁移添加到使用EF Core + PostGRE SQL驱动程序的项目中
我的项目结构如下:
.sln
|--
|
|-- Context(cslib)
|-- Controllers(cslib)
|-- AppRunner(console app), Startup
|--(...)
AppRunner的位置:
PackageReference Include =“ Npgsql.EntityFrameworkCore.PostgreSQL” Version =“ 2.1.2”
上下文具有:
PackageReference Include =“ Microsoft.EntityFrameworkCore” Version =“ 2.1.1”
控制器具有:
PackageReference Include =“ Microsoft.EntityFrameworkCore” Version =“ 2.1.1”
我的创业公司:
services
.AddEntityFrameworkNpgsql()
.AddDbContext<Context>
(
o => o
.UseNpgsql(DbConnectionString)
)
.BuildServiceProvider();
一切正常-应用正常运行,但是当我想执行
dotnet ef migrations add InitialCreate
在其抛出的AppRunner文件夹中
System.Reflection.TargetInvocationException:调用的目标引发了异常。 ---> System.IO.FileLoadException:无法加载文件或程序集'Microsoft.EntityFrameworkCore,版本= 2.1.4.0,区域性=中性,PublicKeyToken = adb9793829ddae60'。找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040) 在Microsoft.EntityFrameworkCore.Design.OperationExecutor..ctor(Object reportHandler,IDictionary args) ---内部异常堆栈跟踪的结尾--- 在System.RuntimeMethodHandle.InvokeMethod处(对象目标,对象[]参数,签名sig,布尔构造函数,布尔wrapExceptions) 在System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr,活页夹活页夹,Object []参数,CultureInfo文化) 在System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr,活页夹活页夹,Object [] args,CultureInfo文化,Object [] activationAttributes) 在Microsoft.EntityFrameworkCore.Tools.ReflectionOperationExecutor..ctor中(字符串程序集,字符串startupAssembly,字符串projectDir,字符串dataDirectory,字符串rootNamespace,字符串语言) 在Microsoft.EntityFrameworkCore.Tools.Commands.ProjectCommandBase.CreateExecutor() 在Microsoft.EntityFrameworkCore.Tools.Commands.MigrationsAddCommand.Execute() 在Microsoft.DotNet.Cli.CommandLine.CommandLineApplication.Execute(String [] args) 在Microsoft.EntityFrameworkCore.Tools.Program.Main(String [] args) 调用的目标已引发异常。
任何人都知道是什么原因造成的?