EFコア1.1 - プレビュー1追加 - 移行エラー

.net-core entity-framework-core

質問

私はネットコアプロジェクトを同じバージョンに1.1プレビューとEFコアにアップデートしようとしています。 project.jsonを復元すると問題なく動作しますが、Add-Migrationなどのコマンドを使用しようとすると、このエラーで失敗します。

Commands could not invoke on target framework 'netcoreapp1.1'.
Commands on ASP.NET Core and .NET Core projects currently only support .NET Core ('netcoreapp1.0') or .NET Framework (e.g. 'net451') target frameworks.

小さなコンソールのproject.jsonテストするアプリケーション

{
  "version": "1.0.0-*",
  "buildOptions": {
    "emitEntryPoint": true
  },

  "dependencies": {
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.1.0-preview1-*"
    },
    "Microsoft.EntityFrameworkCore": "1.1.0-preview1-final",
    "Microsoft.EntityFrameworkCore.Design": "1.1.0-preview1-final"
  },

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

  "frameworks": {
    "netcoreapp1.1": {
      "imports": "dnxcore50"
    }
  }
}

私はVisual Studio 2015を使用しています。何か不足しているか、またはVisual Studioツールで現在サポートされていないEF / .net Core 1.1ですか?

EF / .net 1.0では既にAdd-Migrationコマンドやdotnet-efコマンドが認識されないため、動作させるために、ここで説明したように手動でEFツールを初期化する必要があります: https : //stackoverflow.com/a/37876143 / 3506081

私はまた、Microsoft.EntityFrameworkCore.Tools.DotNetを使用して、 リリースポストで提案したように試みましたが、それはdotnet-efを認識しないという同じ問題があります。

誰でも似たような問題がありますか?

受け入れられた回答

私はあなたがコマンドラインを使用して行うことができることを知ったので、Visual Studioパッケージマネージャコンソール(奇妙な理由は分かりません)ではそうではありません。コマンドはまったく同じではないことに留意してください。たとえば、移行を作成する場合は、これを行う方法です。

dotnet ef migrations add InitialMigration

私も使用しています:

"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0-preview3-final"

古いツールを削除しました。

私はツールがEntity Framework Core 1.1 Preview 1で動作するように更新されていないと考えています。そこで、私は回避策としてフレームワークのバージョンをnetcoreapp1.0に変更し、データベース上で実行するコマンドを実行してから最新のターゲットフレームワークに戻します。


人気のある回答

このスレッドは 、このような状況を少しでも解消します。

ツールは特定のMSBuildバージョンに依存しますので、ツールバージョンが同じバージョンであることを確認してください。私はそれをMac OSX Sierraで走らせている

.csproj

    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet">
      <Version>1.0.0-msbuild1-final</Version>
    </DotNetCliToolReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet">
      <Version>1.0.0-msbuild1-final</Version>
    </PackageReference>
        <PackageReference Include="Microsoft.EntityFrameworkCore.Tools">
      <Version>1.0.0-msbuild1-final</Version>
    </PackageReference>

.csprojを変更したら、必ずdotnet clean && dotnet restoreを実行してください。失敗した場合は、 rm -rf obj/

また、



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ