我正在尝试使用 this tutorial 学习 ASP.NET Core 的基础知识:
- 我已经创建了一个 ASP.NET Core 网络应用程序
- 我已经使用 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 x64 VS:2015 社区版 来自 project.json 的其他部分:
"frameworks": {
"netcoreapp1.1": {
"imports": [
"portable-net45+win8+dnxcore50",
"portable-net45+win8"
]
}
},
"runtimes": {
"win7-x64": {}
},
最佳答案
更新 [30/3/2017]
新包是
Install-Package Microsoft.EntityFrameworkCore.Tools
原创
<罢工> 尝试添加
"tools": {
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4"
}
罢工><罢工>罢工>
此外,这里还有一个关于使用 EF Core 1.1.0 设置 .Net Core 1.1.0 的教程
https://learn.microsoft.com/en-us/ef/core/get-started/netcore/new-db-sqlite
关于entity-framework - "No executable found matching command "点网 ef "",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40941717/