Visual Studio 2015とdotnetコアを使用して、Sqliteを使用するEF Core Code Firstプロジェクトと、Sqliteを使用するこのドキュメント/チュートリアルを開発しようとしています=> NET Core-新しいデータベース
次のコマンドを発行して、コマンドラインから最初の移行を追加しようとすると(データモデルプロジェクトがあるフォルダーにCDでアクセスされます)
dotnet ef migrations add InitialMigration
...次のエラーが表示されます。
プロジェクトが見つかりませんでした。現在の作業ディレクトリを変更するか、-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
および他のすべてのものはもはや尊重されませんか?
の代わりに:
"tools": {
"Microsoft.EntityFrameworkCore.Tools.DotNet":"1.0.0"
},
試してください:
"tools": {
"Microsoft.EntityFrameworkCore.Tools.DotNet": {
"version": "1.0.0-preview3-final"
}},
場合によっては、コンソール/端末の現在のディレクトリを変更する必要があります。例:
PM> cd E:\Projects\CrossTest\
PM> dotnet ef migrations add InitialMigration
パッケージのバージョンを揃えます。 preview1パッケージまたはpreview2を使用。これらの組み合わせはサポートされていません。
Microsoft.EntityFrameworkCore.Tools
を追加しますMicrosoft.EntityFrameworkCore.Design
を追加しますEdit
を選択して、ItemGroup
ノードを含むPackageReference
に以下を追加します<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.3" />
(最新バージョンはNuget Packageマネージャーで見つけることができます)
cd {path where your csproj file resides}
(これは重要です)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に移行する前の一時的な回避策かもしれません。
dotnet-efコマンドが移動しました。
Microsoft.EntityFrameworkCore.Tools.DotNet[〜#〜] and [〜#〜]Microsoftへの参照を追加する必要があります。 .EntityFrameworkCore.Design project.jsonの依存関係に追加し、次にMicrosoft.EntityFrameworkCore.Tools.DotNetをツールセクションに追加します。