Visual studio 我的项目使用哪个版本的实体框架?

Visual studio 我的项目使用哪个版本的实体框架?,visual-studio,entity-framework,version,entity-framework-5,Visual Studio,Entity Framework,Version,Entity Framework 5,我有一个使用实体框架的项目,但我不确定我使用的是哪个版本的EF。 根据要求,EF5将自行安装: 如果在Visual Studio 2012中使用Entity Framework Designer创建新模型,则EF5 NuGet包将安装到项目中,生成的代码将使用EF5 但是,我没有创建项目的EF部分,而是从版本控制(TFS)获得它。现在我不知道如何确定我是否有EF5 如果我右键单击项目的References文件夹并选择Manage NuGet Packages,它会显示带有卸载按钮的EF5,这意味

我有一个使用实体框架的项目,但我不确定我使用的是哪个版本的EF。 根据要求,EF5将自行安装:

如果在Visual Studio 2012中使用Entity Framework Designer创建新模型,则EF5 NuGet包将安装到项目中,生成的代码将使用EF5

但是,我没有创建项目的EF部分,而是从版本控制(TFS)获得它。现在我不知道如何确定我是否有EF5

如果我右键单击项目的References文件夹并选择Manage NuGet Packages,它会显示带有卸载按钮的EF5,这意味着我有EF5

但是References文件夹中的system.data.entity在Properties explorer中具有运行时版本v4.0.30319和版本4.0.0.0,这意味着EF 4(根据)

我的
app.config中确实有这个:

<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<configSections>
  <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<!--...-->
  <dependentAssembly>
    <assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
  </dependentAssembly>
<!--...-->
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
  </entityFramework>

有人能澄清这一点吗?

也许您的项目基于.NET 4.0,在这种情况下,您的EF5版本没有.NET 4.5功能:


我在System.Data.Entity上有相同的版本号。这来自.Net framework,而不是实体框架安装。右键单击引用并选择“查找依赖于模块的代码”,可以查看应用程序的哪些部分正在使用它。除非代码正在访问元数据(主要是状态枚举和属性defn),否则通常不会有太多。下一个版本将把所有这些都放到EntityFramework.dll中-请参阅


顺便说一句,查看System.Data.Entity属性中的文件夹,v4.0.30319位于.NETFramework\v4.5

根据,您应该只查看
EntityFramework.dll
,在我的示例中,它显示运行时版本v4.0.30319,但版本5.0.0.0。(因此我有EF 5。)

获取此类信息的最简单方法是安装

这只是为您的项目生成一个包含所有相关信息的网页。例如,您可以在该页面上搜索“实体”,然后立即查看版本信息


下面的示例显示了此诊断工具的一种用法

转到项目的packages.config文件

  <package id="EntityFramework" version="6.1.3" targetFramework="net45" />


这一点很好,我没有想到。我检查了我的项目,但它们似乎都是.NET4.5.1。既然我不能使用EF5使用的特性,那么看看使用代码的模块对我有什么帮助呢?2.根据,我应该只看
EntityFramework.dll
,它也显示运行时版本v4.0.30319,但版本5.0.0.0。