2017-01-31 9 views
3

私はVisual Studio 2015で開発中のASP.Netコアプロジェクトの最初の移行を作成しようとしています。私のproject.jsonファイルは、私のプロジェクトフォルダのルートにあります。Entity Frameworkコア - 最初の移行を追加できません

プロジェクトにIを右クリックし、[開く]コマンドライン>デフォルト」を選択し、以下のように入力します。

dotnet ef migrations add InitialDatabase 

コマンドラインを返します。

No project was found. Change the current working directory or use the --project option. 

私はすべての異なるバージョンを試してみましたEntityFrameworkCoreとツールの私のproject.jsonファイルは次の通りです:

{ 
    "dependencies": { 
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final", 
    "Microsoft.AspNetCore.Diagnostics": "1.0.1", 
    "Microsoft.AspNetCore.Mvc": "1.0.1", 
    "Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.1", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.1", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1", 
    "Microsoft.AspNetCore.StaticFiles": "1.0.1", 
    "Microsoft.EntityFrameworkCore": "1.0.2", 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.2", 
    "Microsoft.EntityFrameworkCore.Design": { 
     "type": "build", 
     "version": "1.0.2" 
    }, 
    "Microsoft.EntityFrameworkCore.Tools": { 
     "type": "build", 
     "version": "1.0.0-msbuild3-final" 
    }, 
    "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0-msbuild3-final", 
    "Microsoft.Extensions.Configuration.Json": "1.0.1", 
    "Microsoft.Extensions.Logging.Console": "1.0.1", 
    "Microsoft.NETCore.App": { 
     "type": "platform", 
     "version": "1.0.1" 
    } 
    }, 

    "tools": { 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final", 
    "Microsoft.EntityFrameworkCore.Tools": "1.0.0-msbuild3-final", 
    "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0-msbuild3-final" 
    }, 

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

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

    "runtimeOptions": { 
    "configProperties": { 
     "System.GC.Server": true 
    } 
    }, 

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

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

アドバイスは大歓迎です。ありがとう。

+0

project.jsonを持つディレクトリをポイントし、コマンドを実行します。私はあなたが現在親フォルダ(1レベル上)にいると思います。 – Developer

+0

これを試してください:VSでパッケージマネージャーコンソールを開きます(表示されない場合は、 '表示 - >他のウィンドウ - >パッケージマネージャーコンソール'に行きます)。 PMCで、 'Add-Migration {YourMigrationNameHere} 'を呼び出します。 – steamrolla

+0

私は、パッケージマネージャでの追加マイグレーションの使用は現在廃止されていると思います。 – TDC

答えて

5
"tools": { 
    "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0-msbuild3-final" 
} 

バージョン1.0.0-msbuild3-finalは、新しい、MSBuildのベースのプロジェクト(ないproject.json)で動作します。代わりにバージョン1.0.0-preview3-finalを使用してください。

+0

良いアドバイス@bricelam。私は昨夜、 "Microsoft.EntityFrameworkCore": "1.0.2"、 "Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final" '、' "Microsoftという偶然の組み合わせを使ってみました。 EntityFrameworkCore.Tools ":" 1.0.0-preview2-final "、" Microsoft.EntityFrameworkCore.Tools.DotNet ":" 1.0.0-msbuild3-final "とそれが機能しました。 ASP.Net Coreの新しい開発者として、調和の取れたパッケージの適切な組み合わせを見つけることは非常に困難です。 '1.0.0-preview3-final'を試してみるべきですか? – TDC

+1

ツール・ストーリーは、 'project.json'からMSBuildに切り替えると少し混乱しました。ツールが最終的にRTM(VS 2017)を使用した場合、EFのストーリーは、少なくともメジャーバージョン番号とマイナーバージョン番号の両方が暗くなるようにすることです(1.0や1.1のように混在しないでください)。 .NETコアパッケージの単一の一貫したセットを取得してください。 – bricelam

+0

お役立ち情報多くの人のように、私は確信しています、私はそれが落ち着くのを楽しみにしています。 – TDC

0

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

あなたは、その後、 project.jsonであなたの依存関係に Microsoft.EntityFrameworkCore.Design Microsoft.EntityFrameworkCore.Tools.DotNetへの参照を追加Microsoft.EntityFrameworkCoreを追加する必要があります。 Tools.DotNetをツールセクションに追加してください。

http://errummwelluhh.blogspot.comから引用した。 同じ質問hereについても同じ回答を投稿しました。

関連する問題