私のプロジェクトのデータベースの初期マイグレーションを作成するのに2日を費やしました。これはとても駄目です。ドキュメントの各プレビューバージョンは異なる方向を指しています。しばらくの間、arroundを飛ばしている未解決の問題がたくさんあります。 EF Tools 1.1.0-preview4 Unrecognized option '--config'またはこのいずれかで:https://github.com/aspnet/EntityFramework/issues/7083どちらも仕事EFコア1.1でマイグレーションを作成できません
私のプロジェクトでは、私はプレビュー版、この問題に提案しても回避策のすべての組み合わせをしようと試みたと思うが、フルフレームワーク(net462)上で実行されているAspNetCoreアプリケーションです。
これは、関連部分と私のproject.jsonの抽象的ではありません:
{
"version": "1.0.0-*",
"buildOptions": {
"platform": "x86",
"debugType": "full",
"preserveCompilationContext": true,
"emitEntryPoint": true
},
"dependencies": {
....
"Microsoft.EntityFrameworkCore": "1.1.0",
"Microsoft.EntityFrameworkCore.Design": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
"Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0",
....
},
"tools": {
"Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final",
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final"
},
"frameworks": {
"net462": {
}
},
...
}
提案の回避策は動作しません。私の場合は、どちらも毎晩を使用して構築したり1.0.0-にツールをダウングレードプレビュー3。
私はこのエラーを打つツールの1.1.0-preview4-最終版を使用する場合:
Unrecognized option --config
を私は毎晩私は、このいずれかを取得構築し使用している場合は、ウィッヒは私のアプリとして、何とか不合理です1つのプロジェクトだけを持っており、DLLではありません(それはまたemitEntryPointあり:真のセット)を
Could not load assembly 'Sales'. Ensure it is referenced by the startup project 'Sales'
しかし、私は、私はこれを取得ツールの1.0.0-preview3決勝にダウングレードする場合、これは、私のお気に入りの一つです超現実的なもの:
error: Package Microsoft.EntityFrameworkCore.Tools.DotNet 1.0.0-preview3-final is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Microsoft.EntityFrameworkCore.Tools.DotNet 1.0.0-preview3-final supports: netcoreapp1.0 (.NETCoreApp,Version=v1.0)
私は2番目の文の最初の1のちょうど反対のことを言っていたことを確認し得るためにそれを5回読まなければならなかった...それは冗談です!
はさらに、コマンドはもうPMCに働いていない、私はインストールツールの関係なくウィッヒバージョンに関係なく、私はパッケージを復元した場合、私は、コンピュータを再起動した場合... は、私はクレイジー取得していますすべてのバージョンが非常に多く、私はマイグレーションを作成したいだけです。私が使用しなければならないツールのバージョンには関係ありません...現時点で有効な設定がありますか、または私は不可能なものを試していますか? 誰もが完全な.netフレームワーク(net462)をターゲットとするasp.netコアアプリケーション内で、efツールの任意のバージョンで移行を作成できましたか?もしそうなら、どうですか?
EDIT:
.netcoreapp1.0するためのプロジェクトを対象に、現在、互換性のない参照を除去した後、私はこのエラーを打つ:
A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found in 'C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App\1.0.1'
ここで何が起こっています?私は本当に.netコアにうんざりしています。それはまだ最初のバージョンです。私はこれがベータ版である間、このような多くの問題を抱えていましたが、今は物事が安定しているはずです...変更できるAPI、アセンブリ名、名前空間、パッケージ名、慣習などは20倍変わっています。今、ツールのプレビュー5,6または25を待ってみましょう.2035年にEF Coreには適切なツールと手順が用意されていますが、このテクノロジに賭けることは何百万時間もわかりません!
EDIT 2:
{
"projects": [ "src", "test" ],
"sdk": {
"version": "1.0.0-preview2-1-003177"
}
}
および1.0.0-preview2-1-003177フォルダが存在し、唯一であることを追加する:
コメントglobal.json 1として関連し得ます1つはC:¥Program Files(x86)¥dotnet¥sdk¥とC:¥Program Files¥dotnet¥sdk¥
問題/例外/エラーは何ですか? – Dmitry
@Dmitry - 十分なエラーがありますか? – Vi100
はい、いいえ:)プロジェクトフォルダ内に悪夢がありますが、「なぜ」を理解するには詳細が必要です。 1) 'global.json'ファイルを表示してください。 2)フレームワークを手動で変更した後、binとobjのサブフォルダを削除し、VSを再起動し、 'dotnet restore'を実行します。私のマシンでこのように "奇妙な"問題がいくつか解決されました:)とにかく、EFCore 1.0.0と1.1.0、net46とnetstardart1.3、netcoreapp1.0と1.1(しかしnet462は試していませんでした) 。小さな非作業デモプロジェクトを作り、githubのどこかにプッシュできますか? – Dmitry