1. ホーム
  2. entity-framework

[解決済み] コマンド "dotnet-ef" に一致する実行可能ファイルが見つかりません。

2023-06-30 06:53:59

質問

ASP.Net Core RC2を使って、プロジェクトのサンプルを作成しています。 Microsoft.EntityFramework.Core とSQLiteを使用してプロジェクトサンプルを作成しています。

このチュートリアルに従いました。 https://damienbod.com/2015/08/30/asp-net-5-with-sqlite-and-entity-framework-7/

しかし、このコマンドを実行すると.

dotnet ef migrations add FirstMigration

私はこのエラーを得た。

No executable found matching command "dotnet-ef"

ここで、私の project.json の構成です。

{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.0-rc2-3002702",
      "type": "platform"
    },
    "Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0-rc2-final",
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final",
    "Microsoft.Extensions.Logging": "1.0.0-rc2-final",
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final",
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-final",
    "Microsoft.EntityFrameworkCore": "1.0.0-rc2-final",
    "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0-rc2-final"
  },

  "tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": {
      "version": "1.0.0-preview1-final",
      "imports": "portable-net45+win8+dnxcore50"
    }
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "dnxcore50",
        "portable-net45+win8"
      ]
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true
  },

  "runtimeOptions": {
    "gcServer": true
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "Views",
      "appsettings.json",
      "web.config"
    ]
  },

  "scripts": {
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
}

どのように解決するのですか?

Entity Framework Core 1.0

を更新する必要があります。 tools セクションを更新する必要があります。

"Microsoft.EntityFrameworkCore.Tools": {
  "version": "1.0.0-preview1-final",
  "imports": [
    "portable-net45+win8+dnxcore50",
    "portable-net45+win8"
  ]
}

これは dotnet ef コマンドを利用できるようになります。

重要な

また、ここで注意しなければならないのは dotnet ef コマンドは、project.json ファイルを含む同じディレクトリから実行したときのみ利用可能であることに注意してください。

Entity Framework Core 1.1

Entity Framework Core 1.1 にアップグレードした後、再びこの問題が発生した場合は、必ず Microsoft.EntityFrameworkCore.Tools 依存関係を Microsoft.EntityFrameworkCore.Tools.DotNet バージョン 1.1.0-preview4 . を保持する必要はありません。 imports セクションも残す必要はありません。これについての詳細は Entity Framework Core 1.1 リリース発表ブログポスト .