回答:
2つのバージョンがあります:1と4。EFv4は.net 4.0の一部であり、EFv1は.net 3.5 SP1の一部です。
はい、上記の設定はEFv4 / .net 4.0を指しています。
編集
参照フォルダーを開いてを見つけsystem.data.entity
、アイテムをクリックしてから、プロパティエクスプローラーでランタイムバージョン番号を確認すると、サブバージョンも表示されます。たとえば、Mineはランタイムバージョンv4.0.30319を示し、Versionプロパティは4.0.0.0を示しています。EntityFramework.dll
また、この方法で表示することができます。バージョンのみが4.1.0.0になり、ランタイムバージョンは.NET 4コンポーネントであることを指定するv4.0.30319になります。または、Pathプロパティにリストされているファイルの場所を開き、問題のコンポーネントを右クリックしてプロパティを選択し、[詳細]タブを選択して製品バージョンを表示することもできます。
使用しているEFバージョンを取得する別の方法は、Visual Studioでパッケージマネージャーコンソール(PMC)を開き、プロンプトでGet-Packageと入力することです。EntityFrameworkの最初の行には、プロジェクトがインストールしたバージョンが表示されます。
PM> Get-Package
Id Version Description/Release Notes
-- ------- -------------------------
EntityFramework 5.0.0 Entity Framework is Microsoft's recommended data access technology for new applications.
jQuery 1.7.1.1 jQuery is a new kind of JavaScript Library.... `enter code here`
それははるかに多く表示され、EF行を見つけるために上にスクロールする必要があるかもしれませんが、これは私が知る最も簡単な方法です。
packages.configファイルで確認できます。
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.0.2" targetFramework="net40-Client" />
</packages>
質問の最初の部分に答えるには、MicrosoftがEntity Frameworkのバージョン履歴をここに公開しました。
参照フォルダーを開いてsystem.data.entityを見つけ、項目をクリックしてから、プロパティエクスプローラーでランタイムバージョン番号を確認すると、サブバージョンも表示されます。たとえば、鉱山はv4.0.30319を示し、バージョンプロパティは4.0.0.0を示しています。
internal static string GetEntityFrameworkVersion()
{
var version = "";
var assemblies = System.AppDomain.CurrentDomain.GetAssemblies().Select(x => x.FullName).ToList();
foreach(var asm in assemblies)
{
var fragments = asm.Split(new char[] { ',', '{', '}' }, StringSplitOptions.RemoveEmptyEntries).Select(x=> x.Trim()).ToList();
if(string.Compare(fragments[0], EntityFramework, true)==0)
{
var subfragments = fragments[1].Split(new char[] { '='}, StringSplitOptions.RemoveEmptyEntries);
version =subfragments[1];
break;
}
}
return version;
}
プロジェクトのソリューションエクスプローラーで、[依存関係]-> [NuGet]-> [Microsoft.NetCore.All]-> [すべてのMicrosoft .NetCoreパッケージのリスト]をクリックします。ブラケットバージョンでMicrosoft.EntityFrameworkCore(2.0.3)を検索する と、次のようになります。