我試圖用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