添加遷移失敗,因為未安裝EntityFrameworkCore.Tools

.net-core c# entity-framework entity-framework-core

我想通過以下教程創建一個使用EF Core的控制台應用程序: http//ef.readthedocs.io/en/latest/platforms/full-dotnet/new-db.html

我的問題是,我無法執行該聲明

Add-Migration 

如教程中所述。它告訴我:

PM> Add-Migration MyFirstMigration
Cannot execute this command because 'Microsoft.EntityFrameworkCore.Tools' is not installed in project 'src\AppEf'. Add 'Microsoft.EntityFrameworkCore.Tools' to the 'tools' section in project.json. See http://go.microsoft.com/fwlink/?LinkId=798221 for more details.

所有添加的組件:

在此處輸入圖像描述

哪裡不對?

更新

聲明dotnet restore工作, dotnet-ef --help根本不起作用。
在此處輸入圖像描述

你可以看到,該語句是在項目文件夾中執行的。

熱門答案

正如評論中提到的一些人,需要將Microsoft.EntityFrameworkCore.Tools添加到project.json的tools部分。

我已經使用最新的(2016年7月)版本的EF Core和工具包測試了這個project.json,它的工作原理如下:

{
    "buildOptions": {
    "emitEntryPoint": true
  },
  "dependencies": {
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
    "Microsoft.EntityFrameworkCore.Design": {
      "version": "1.0.0-preview2-final",
      "type": "build"
    },
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.0"
    }
  },
  "frameworks": {
    "netcoreapp1.0": {}
  },
  "tools": {
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
  },
  "version": "1.0.0-*"
}

要使用它,從項目文件夾執行這些命令:

λ dotnet restore
log  : Restore completed in 2810ms.

λ dotnet ef --help
Compiling EfCoreTester2 for .NETCoreApp,Version=v1.0                                                                            
Compilation succeeded.                                                                                                          
    0 Warning(s)                                                                                                                
    0 Error(s)                                                                                                                  
Time elapsed 00:00:01.7208394                                                                                                   

Entity Framework .NET Core CLI Commands 1.0.0-preview2-21431
Usage: dotnet ef [options] [command]
Options:
  -h|--help                      Show help information
  -v|--verbose                   Enable verbose output
  --version                      Show version information
(... etc)

起初,我No executable found matching command "dotnet-ef"直到我意識到你必須從項目文件夾內部執行命令(在我的情況下是src\projectName )。如果您嘗試從解決方案根目錄執行此操作,則無法正常工作。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因