web-dev-qa-db-ja.com

パッケージ「Microsoft.EntityFrameworkCore.Design」の目的

すべてのチュートリアルはproject.jsonに含める必要があります:

"Microsoft.EntityFrameworkCore.Design": 
{ 
    "type":"build", 
    "version":"1.0.0-preview2-final" 
}

私はそれを含めたことはなく、問題もありませんでした。

含めるだけ

"Microsoft.EntityFrameworkCore"
"Microsoft.EntityFrameworkCore.Sqlite"   (or Sqlserver)
"Microsoft.EntityFrameworkCore.Tools"

このパッケージは何をしますか?問題なく除外できるのはなぜですか?


更新:承認された回答のコメントを参照して、どのシナリオでどのパッケージをインポートするかを把握してください。

22
grokky

Microsoft.EntityFrameworkCore.Designには、Entity Framework Coreのすべての設計時ロジックが含まれています。これは、さまざまなツール(Add-Migrationdotnet efef.exeなどのPMCコマンドレット)のすべてが呼び出すコードです。

移行またはリバースエンジニアリングを使用しない場合は、必要ありません。

また、必要な場合はPrivateAssets="All"を使用することをお勧めします。そうすることで、ほぼ確実に必要になるサーバーに公開されなくなります。

24
bricelam