2017-02-17 20 views
1

project.jsonファイルを使用して、dotnetコアのバージョンを使用して作成したプロジェクトで作業しています。私はデータベースの移行を追加し、VSコード(移行の追加、更新など)でdotnet ef cliコマンドを使用してデータベースを作成することができました。.netコアの移行後にデータベースに移行を追加できない

しかし、私は最近dotnet migrateコマンドを使用してプロジェクトを移行しました。したがって、プロジェクトには.csprojファイルがあります。さらにデータベースの移行を追加する必要がありますが、cliコマンドを実行すると、project.jsonファイルが見つからないというエラーが表示されます。

私はオンラインでドキュメントを見て、ウェブを検索しましたが、私が逃したかもしれないことを教えてくれるものは見つかりませんでした。 FWIWは、ここに私.csprojファイル内の可能性関連するパッケージです:

<PackageReference Include="Microsoft.EntityFrameworkCore" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.0" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.0" /> 

    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.1.0-preview4-final" /> 

答えて

3

新しいツールが新しい.csprojの方法でリリースされました。 Microsoft.EntityFrameworkCore.Tools.DotNetのバージョンを1.1.0-preview4-finalから1.0.0-msbuild3-finalに変更する必要があります。

Nugetには、hereの最新バージョンがあります。

+0

依存関係を変更してリストアを行うと、この警告が表示されます。指定された依存関係はMicrosoft.EntityFrameworkCore.Tools.DotNet(> = 1.1.0-msbuild3-final)でしたが、Microsoft.EntityFrameworkCore.Tools.DotNet 1.1で終了しました。 0-preview4-final。ああ、私は[Julie Lermanのブログ](https://www.goodreads.com/author/show/1892325.Julia_Lerman/blog)に、あなたがしたのと同じことを言及しました。 –

+0

バージョンは実際には '1.0.0-msbuild3-final'であり、' 1.1.0-msbuild3-final'ではありません。それを更新すればいいですね。最初に間違って投稿しました、今更新しました= D。 – steamrolla

1

あなたは「DOTNETのEF」ツールを必要としない場合は特に、あなたはまた、あなたがDOTNETのEFが必要な場合はVS PowerShellの統合バージョンを(使用することができますツール多分以下steamrollaのポストはあなたを助けることができる):

私は、次のパッケージ参照を使用します。setこれらの文献では

<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.0" /> 
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.1.0-preview4-final" /> 

を、EF-ツール(アドオンの移行、アップデート・データベースを使用することが可能です、...)をパッケージマネージャコンソールから削除します。

+0

'DotNetCliToolReference'は私にとってはうまくいくようです。 – steamrolla

+1

Microsoft.EntityFrameworkCore.Tools.DotNetとMicrosoft.EntityFrameworkCore.Toolsの間に違いがあるようです。 DotNetバージョンは "dotnet ef"コマンド用であり、Dotnetなしバージョンは通常のVS統合用バージョンです。参照してください:https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-entity-framework-core-1-1/ – Fionn

+0

修正します。 'Tooling Packagesをアップグレードする'の下で下をスクロールして呼び出すと、 'dotnet ef'コマンドを使用している場合は、' .DotNet'バージョンを使用する必要があります。 これらのことは、実際にはこの問題では別のことがあります。新しい '.csproj'のやり方です。 – steamrolla

関連する問題