と互換性がありませんEntity Framework 7
をAsp.Net 5プロジェクトに追加した後に初期移行を実行しようとしています。私はこれに従いますdocumentation。私は、コマンドプロンプトからプロジェクトディレクトリで次のコマンドを実行しようとしています現在のランタイムターゲットフレームワークはプロジェクト
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel",
"ef": "EntityFramework.Commands"
},
"frameworks": {
"dnxcore50": { }
}
:私のproject.json
で
は私が指定した
dnx ef migrations add MyFirstMigration
をしかし、私は次のエラーを取得する:
System.InvalidOperationException: The current runtime target framework is not compatible with ProjectName. The current runtime target framework: 'DNX, Version=v 4.5.1(dnx451) Please make sure the runtime matches a framework specified in project.json.
奇妙なことは私のですは間違いなくdnxcore50
をターゲティングしています。
{
"projects": [ "src", "test" ],
"sdk": {
"version": "1.0.0-beta8",
"architecture": "x86",
"runtime": "coreclr"
}
}
をそして、私のパッケージには、すべての参照ベータ8の依存関係:私はまたglobal.json
で確認しているあなたは、あなたのプロジェクトのサポートフレームワークにdnx451
を追加、または.NET Coreバージョンに切り替えるにはいずれかの必要がある
"dependencies": {
"EntityFramework.Commands": "7.0.0-beta8",
"EntityFramework.Core": "7.0.0-beta8",
"EntityFramework.SqlServer": "7.0.0-beta8",
"Hl7.Fhir.DSTU2": "0.90.2",
"Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta8",
"Microsoft.AspNet.Authentication.OpenIdConnect": "1.0.0-beta8",
"Microsoft.AspNet.Diagnostics": "1.0.0-beta8",
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-beta8",
"Microsoft.AspNet.Mvc": "6.0.0-beta8",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta8",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-beta8",
"Microsoft.AspNet.StaticFiles": "1.0.0-beta8",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-beta8",
"Microsoft.Dnx.Runtime": "1.0.0-beta8",
"Microsoft.Framework.Configuration.Json": "1.0.0-beta8",
"Microsoft.Framework.Configuration.UserSecrets": "1.0.0-beta8",
"Microsoft.Framework.Logging": "1.0.0-beta8",
"Microsoft.Framework.Logging.Console": "1.0.0-beta8",
"Microsoft.Framework.Logging.Debug": "1.0.0-beta8",
"Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta8"
}
それは今働いている理由を私は理解していません。私はすでに 'project.json'ファイルのフレームワークの下で' dnxcore50'を指定していました。私は 'dnvm install latest -r coreclr'を実行しました。現在は動作しています。しかし、なぜ?コマンドには、最新のコアCLRランタイムがインストールされていることが記載されています。 –
coreclrのインストールは2つのことを行います。インストールして使用してください。私はこれを明確にするために上記を更新しました。将来、 'dnvm list'を実行して、どのランタイムを使用しているかを確認してください。デフォルトでは、「CoreRR」ではなく「CLR」バージョンが選択されています。 – natemcmaster