web-dev-qa-db-ja.com

EFコアエラー-プロジェクトが見つかりませんでした。現在の作業ディレクトリを変更するか、-projectオプションを使用します

Visual Studio 2015とdotnetコアを使用して、Sqliteを使用するEF Core Code Firstプロジェクトと、Sqliteを使用するこのドキュメント/チュートリアルを開発しようとしています=> NET Core-新しいデータベース

次のコマンドを発行して、コマンドラインから最初の移行を追加しようとすると(データモデルプロジェクトがあるフォルダーにCDでアクセスされます)

dotnet ef migrations add InitialMigration

...次のエラーが表示されます。

enter image description here

プロジェクトが見つかりませんでした。現在の作業ディレクトリを変更するか、-projectオプションを使用します。

私も--projectオプションをそのように使用しようとしました。

> dotnet --project "C:\Shiva\EF\EFCFSqlite.Data.xproj"  ef migrations add InitialMigration

ただし、次のエラーが発生します。

Unknown option: --project
.NET Command Line Tools (1.0.0-preview2-003131)
Usage: dotnet [Host-options] [command] [arguments] [common-options]

私のプロジェクトではxprojファイルが表示されていますが、ドキュメントでは.csprojファイルを使用していることに気付きました。また、ドキュメントではproject.jsonを使用しないことについても言及しています:(

これが私のproject.jsonファイルです。

{
  "version": "1.0.0-*",

  "dependencies": {
    "Microsoft.EntityFrameworkCore.Sqlite": "1.1.1",
    "Microsoft.EntityFrameworkCore.Sqlite.Design": "1.1.1",
    "NETStandard.Library": "1.6.1"
  },
  "tools": {
    "Microsoft.EntityFrameworkCore.Tools.DotNet":"1.0.0"
  },
  "frameworks": {
    "netstandard1.6": {
      "imports": "dnxcore50"
    }
  }

変化したこと? Visual Studio 2017のインストールを選択し、最初から始めるしかありませんか?? project.jsonおよび他のすべてのものはもはや尊重されませんか?

それが事実なら、私にとって大きな変化のようです:(

19
Shiva

の代わりに:

"tools": {
    "Microsoft.EntityFrameworkCore.Tools.DotNet":"1.0.0"
  },

試してください:

"tools": {
      "Microsoft.EntityFrameworkCore.Tools.DotNet": {
      "version": "1.0.0-preview3-final"
  }},
11
Gys Rademeyer

場合によっては、コンソール/端末の現在のディレクトリを変更する必要があります。例:

PM> cd E:\Projects\CrossTest\
PM> dotnet ef migrations add InitialMigration

パッケージのバージョンを揃えます。 preview1パッケージまたはpreview2を使用。これらの組み合わせはサポートされていません。

30
Akshay Mishra
  1. NugetパッケージMicrosoft.EntityFrameworkCore.Toolsを追加します
  2. NugetパッケージMicrosoft.EntityFrameworkCore.Designを追加します
  3. プロジェクトファイルを右クリックし、Editを選択して、ItemGroupノードを含むPackageReferenceに以下を追加します

<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.3" />

(最新バージョンはNuget Packageマネージャーで見つけることができます)

  1. パッケージ管理コンソールを開きます:ツール-> Nugetパッケージマネージャー->パッケージマネージャーコンソール
  2. タイプcd {path where your csproj file resides}(これは重要です)
  3. dotnet ef migrations add InitialMigrationと入力します

同様の問題に直面しました。 1.0.0-preview3-finalにダウングレードすることで修正

"tools": {
     "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0-preview3-final",    
}

--project paramを-startup-projectに変更します

dotnet ef --startup-project <PATH_TO_PROJECT_DIRECTORY> migrations add <MIGRATION_NAME>

Global.jsonでバージョンをダウングレードしました

 "sdk": {
     "version": "1.0.0-preview2-003131"
 }

これは、csprojに移行する前の一時的な回避策かもしれません。

2
Artur Karbone

dotnet-efコマンドが移動しました。

Microsoft.EntityFrameworkCore.Tools.DotNet[〜#〜] and [〜#〜]Microsoftへの参照を追加する必要があります。 .EntityFrameworkCore.Design project.jsonの依存関係に追加し、次にMicrosoft.EntityFrameworkCore.Tools.DotNetをツールセクションに追加します。

引用元: http://errummwelluhh.blogspot.com

0
susieloo_