15

現在、VisualStudio2012にEntityFramework5.0をインストールしています。何らかの理由で、プロジェクトはEF4.4.0.0でのみサポートされています。

EF 4.4.0.0をインストールしましたが、Nugetコマンドラインにエラーがあります。

PM> Install-Package EntityFramework -Version 4.4.0.0 Install-Package:パッケージ'EntityFramework'のバージョン'4.4.0.0'が見つかりません。行:1文字:1 + Install-Package EntityFramework -Version 4.4.0.0 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ + CategoryInfo:NotSpecified:(:) [Install-Package]、InvalidOperationException + FullyQualifiedErrorId:NuGetCmdletUnhandledException、NuGet.PowerShell.Commands.InstallPackageCommand

PM>

4

3 に答える 3

26

表示されているバージョン管理の問題は、アプリが対象としている .NET ランタイムのバージョンに応じて EF がサポートできるものが異なるためです。

.NET 4 をターゲットにして EF 5 をインストールする場合、アセンブリのバージョンは 4.4 になります。

.NET 4.5 をターゲットにして EF 5 をインストールする場合、アセンブリのバージョンは 5.0 になります。

これは、DBGeography などは .NET 4.5 が存在する場合にのみ機能するためです。

適切な EF 5 をインストールするだけで、NuGet パッケージがこれを把握し、適切なバージョンを提供します。

于 2013-01-23T19:48:19.220 に答える
8

tl;tr .NET 4.0 でアセンブリ バージョン 4.4.0.0 が必要な場合は、パッケージ マネージャー コンソールに次のように入力します。

PM> Install-Package EntityFramework -Version 5.0.0.0
于 2015-03-09T07:56:16.700 に答える
6

OK、ここで取り決めは、EF 5 は .net 4.5 プロジェクトでのみサポートされる (つまり、.net 4 はサポートされない) ということです。ただし、.NET 4 プロジェクトがあり、EF 5 をインストールしようとすると、.NET 4 で実行される別のバイナリ (EF 4.4 と呼ばれる) が提供されます。

つまり、EF 5 パッケージをインストールするだけで、正しい (4.4) バージョンの EF を取得できます。

EF チームからの詳細情報については、http://brice-lambson.blogspot.ca/2012/10/unicorn-myths-debunked-entity-framework.htmlを参照してください。

于 2013-01-23T19:47:35.013 に答える