【发布时间】:2016-12-02 22:19:01
【问题描述】:
我正在尝试使用 this tutorial 学习 ASP.NET Core 的基础知识:
- 我创建了一个 ASP.NET Core Web 应用程序
- 我已经使用here 的指令对其进行了升级
现在,我正在尝试在项目文件夹(project.json 所在的位置)内的命令提示符下使用dotnet ef migrations add Initial 设置数据库迁移:
找不到匹配命令“dotnet-ef”的可执行文件
我已经更改了 project.json,因此 dotnet-ef 可以工作:
"tools": {
...
"Microsoft.EntityFrameworkCore.Tools": {
"version": "1.0.0-preview1-final",
"imports": [
"portable-net45+win8+dnxcore50",
"portable-net45+win8"
]
}
现在,生成失败并出现以下错误:
指定的框架'Microsoft.NETCore.App',版本 未找到“1.0.0-rc2-3002702”。 - 检查应用程序依赖项并定位安装在以下位置的框架版本: C:\Program Files\dotnet\shared\Microsoft.NETCore.App - 安装了以下版本: 1.0.0 1.0.1 1.1.0 - 或者,安装框架版本 '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"
]
},
这样做会导致同样的错误:
找不到匹配命令“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": {}
},
【问题讨论】:
标签: entity-framework asp.net-core entity-framework-migrations