实体框架 7 的“添加迁移”命令不适用于 ASP.NET 5 类库
本文关键字:适用于 不适用 命令 ASP NET 类库 添加迁移 框架 迁移 添加 实体 | 更新日期: 2023-09-27 18:30:56
我创建了一个具有以下依赖项的 ASP.NET 5 类库
"EntityFramework.Core": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"EntityFramework.Commands": "7.0.0-rc1-final"
我创建了我的模型和数据库上下文类。现在,我想添加一个迁移,以便可以创建数据库。通过调用
dnx ef Add-Migration InitialMigration
从命令行,给我以下错误消息
System.InvalidOperationException:当前运行时目标框架 与"Yugasat.Test"不兼容。当前运行时目标 框架:"DNX,版本=v4.5.1 (dnx451)" 版本:
1.0.0-rc1-16231 类型:Clr 体系结构:x86 操作系统名称:Windows 操作系统版本:10.0 运行时 ID:win10-x86请确保运行时与 中指定的框架匹配 project.json at Microsoft.Dnx.ApplicationHost.DefaultHost.GetEntryPoint(String 应用程序名称)在 Microsoft.Dnx.ApplicationHost.Program.ExecuteMain(DefaultHost host, String applicationName, String[] args) at Microsoft.Dnx.ApplicationHost.Program.Main(String[] args) --- 从引发异常的先前位置的堆栈跟踪结束 --- System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Microsoft.Dnx.Runtime.Common.EntryPointExecutor.Execute(Assembly assembly, String[] args, IServiceProvider serviceProvider) at Microsoft.Dnx.Host.Bootstrapper.RunAsync(List'1 args, IRuntimeEnvironment env, String appBase, FrameworkName 目标框架) 在 Microsoft.Dnx.Host.RuntimeBootstrapper.ExecuteAsync(String[] args, BootstrapperContext bootstrapperContext) at Microsoft.Dnx.Host.RuntimeBootstrapper.Execute(String[] args, BootstrapperContext bootstrapperContext)
据我从错误消息中看到,我的dnx版本是4.5.1,我的projects.json文件中的框架设置为4.5.1
{
"version": "1.0.0-*",
"description": "Yugasat.Test Class Library",
"authors": [ "AndreL" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"net451": {
}
},
"dependencies": {
"EntityFramework.Core": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"EntityFramework.Commands": "7.0.0-rc1-final"
},
"commands": {
"ef": "EntityFramework.Commands"
}
}
"frameworks": {
"net451": {}
}
您需要在此处使用dnx451
,而不是net451
.然后,当前运行时目标框架(DNX,Version=v4.5.1 (dnx451)
)将正确选取它。
另请注意,正确的命令是 dnx ef migrations add InitialMigration
;我不确定Add-Migration
是否有效。