私は最初のASP.Net Webアプリケーションを開発しようとしています。私のソリューションでは2つのプロジェクトがあります。 A Web Application
およびClass Library (Package)
である。このアプリケーションのASP.Net 4.5バージョンをビルドすると、Entity Framework 6
エンティティがクラスライブラリに格納されるため、ASP.Net 5
バージョンでこれを実行しています。問題は、私はクラスライブラリにEntityFramework.Commands
をインストールするときに、私はエラーを取得する次のとおりです。ASP.Net 5のEntityFrameworkコマンドクラスライブラリパッケージ?
The dependency EntityFramework.Command 7.0.0-rc1-final in Project DBEntities does not support framework .NetPlatform, Version = 5.4
this SO questionからの私の理解では、dotnet5.4
がEF7でサポートされていることになっている新しい.NET 5であるということです。ここで
は私project.json
ファイルです:
{
"version": "1.0.0-*",
"description": "FFInfo.DAL Class Library",
"authors": [ "Mathew" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"dotnet5.4": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Runtime": "4.0.21-beta-23516",
"System.Threading": "4.0.11-beta-23516"
}
}
},
"dependencies": {
"EntityFramework.Commands": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final"
}
}
私は間違ったパッケージをインストールしました、EF7は私が間違ったクラスを構築していますか、私は私のJSONファイルで何かをしないのですそんなに変化していますか?
EDIT: 新しいproject.jsonファイルオフに基づいて提案
{
"version": "1.0.0-*",
"description": "FFInfo.DAL Class Library",
"authors": [ "Mathew" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"frameworks": {
"dotnet5.4": {
"dependencies": {
"Microsoft.AspNet.Hosting.Abstractions": "1.0.0-*",
"Microsoft.Dnx.Runtime": "1.0.0-*",
"Microsoft.Extensions.CommandLineUtils.Sources": {
"version": "1.0.0-*",
"type": "build"
},
"Microsoft.Extensions.PlatformAbstractions": "1.0.0-*",
"System.Console": "4.0.0-*",
"System.IO.FileSystem": "4.0.1-*"
}
},
"netcore50": {
"bin": {
"assembly": "lib\\netcore50\\_._"
}
},
"dependencies": {
"EntityFramework.Commands": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final"
}
}
}
フレームワーク 'dotnet5.4'は' dnxcore50'と同義であり、 'dnx451'ではありません([公式発表](https://github.com/aspnet/Announcements/issues/98)参照)。私は個人的に名前の変更が悪いことを見つける。 **最初に 'dotnet5.4'の名前を' dnxcore50'に変更することをお勧めします**おそらく 'frameworks 'の代わりに' net451'や 'dnx451'を使うべきでしょう" dotnet5.4 "。" dependencies " 'あなたのクラスライブラリがASP.Net 4.5のものであれば?どのようにしても、 '' dnx451 ':{} '(または' 'net451":{} ')を' 'フレームワーク''に追加することをお勧めします。あなたが問題を再現することができるなら、私はより多くを助けることを試みることができます。 – Oleg
@Oleg「.Net 4.5」をターゲットにしたくありません。「.Net 5.0 core'をターゲットにします。この「クラスライブラリ」は、私のWebアプリケーションの「ASP.Net 5」バージョン用です。 – Matthew
'' dotnet5.4 "'から '' dnxcore50 "' **に名前を変更することで、あなたの問題は解決できると思います。それがうまくいくなら私はより詳細な説明で私の答えを掲示するだろう。私はあなたが ''フレームワーク ''に含まれている ''依存関係 ''をすべて取り除くことができると思います。 "dotnet5.4" '(' "framework" "" dnxcore50 "')おそらく一般的な依存関係を使用します。本当に必要な依存関係のみです。 ''フレームワーク ''の最適化はあなたの主な問題とは独立しています。 – Oleg