我试图用this tutorial学习ASP.NET核心的基础知识:“没有可执行找到匹配的命令‘的dotnet-EF’,”
- 我创建了一个ASP.NET核心的Web应用程序
- 我使用指令从here
现在已经升级了,我想安装项目的文件夹中使用dotnet ef migrations add Initial
从命令提示符数据库迁移(其中project.json所在地):
No executable found matching command "dotnet-ef"
我已经改变project.json,使DOTNET-EF工作:
"tools": {
...
"Microsoft.EntityFrameworkCore.Tools": {
"version": "1.0.0-preview1-final",
"imports": [
"portable-net45+win8+dnxcore50",
"portable-net45+win8"
]
}
现在,生成失败,出现以下错误:
The specified framework 'Microsoft.NETCore.App', version '1.0.0-rc2-3002702' was not found. - Check application dependencies and target a framework version installed at: C:\Program Files\dotnet\shared\Microsoft.NETCore.App - The following versions are installed: 1.0.0 1.0.1 1.1.0 - Alternatively, install the framework version '1.0.0-rc2-3002702'
好吧,这是有道理的,因为Microsoft.EntityFrameworkCore.Tools 1.0.0-preview1-final依赖于错误中提到的旧版本,如project.lock.json文件中所示。
我不想降级,所以我把最新版本Microsoft.EntityFrameworkCore.Tools的我能找到的:
"Microsoft.EntityFrameworkCore.Tools": {
"version": "1.1.0-preview4-final",
"imports": [
"portable-net45+win8+dnxcore50",
"portable-net45+win8"
]
},
这样做会导致同样的错误:
No executable found matching command "dotnet-ef"
我如何使它在1.1版本中工作?
,可能是有用的其他背景信息:
操作系统:Windows 7 64位系统 VS:2015年社区版 从project.json其他部分:
"frameworks": {
"netcoreapp1.1": {
"imports": [
"portable-net45+win8+dnxcore50",
"portable-net45+win8"
]
}
},
"runtimes": {
"win7-x64": {}
},
的[#37276882](https://stackoverflow.com/a/45765523/1233379)可能重复:在短的话,你需要手动编辑项目配置文件并添加对Tools/Tools.DotNet软件包的引用(因为VS2015/VS2017不会自动执行该操作)。欲了解更多信息,请[这里阅读](http://www.ryadel.com/en/no-executable-found-matching-command-dotnet-ef-error-in-visual-studio-2017-and-net-core -2- vs2017实体框架/)。 – Darkseal