关于EntityFramework在vs2012无法引用的问题

这段时间学习MVC,发现一个问题,我公司的电脑可以直接引用EntityFrameWork这个命名空间,但我家里面的电脑就不能直接引用,刚开始以为是我电脑配置问题,后重装电脑,发现问题并没有解决。 今天晚上在网上好好找了找原因,发现我公司电脑因为装了visual studio2010和2012两个版本,EntityFramework是.net framework 3.5出来的,也就是说如果安装了visual studio 2010是默认有这个配置,你可以直接引用。 但我家里面的电脑是直接安装的visual studio 2012,默认直接是.net framework 4.0和4.5两个版本。所以默认是没有EntityFramework的。 那怎么解决呢? 在visual studio 2012中已经内置了一个插件,名叫:NuGet Package Manager,可通过 vs 工具-》库程序包管理器-》程序包管理器控制台,打开控制台。 【 程序包管理器控制台主机版本 2.1.31002.9028 键入“get-help NuGet”以查看所有可用的 NuGet 命令。 PM> 】 在PM>输入 Install-Package EntityFramework,然后会得到出错提示 【 PM> Install-Package EntityFramework Install-Package : 当前环境未打开任何解决方案。 所在位置 行:1 字符: 16 】 也即,需要在一个工程项目中使用此方式,新建一个c#控制台应用程序,命名为EFDemo,再执行如上操作,会在线下载最新稳定版本即5.0并安装,成功则结果如下: 【 PM> Install-Package EntityFramework 已成功安装“EntityFramework 5.0.0”。 已成功将“EntityFramework 5.0.0”添加到 EFDemo。 Type 'get-help EntityFramework' to see all available Entity Framework commands. 】 安装后的变化 上述操作执行完毕后,会发现项目变化 1.新增了一个packages.config文件 <?xml version="1.0" encoding="utf-8"?> <packages> <package id="EntityFramework" version="5.0.0" targetFramework="net40-Client" /> </packages> 2.app.config文件中根节点中新增了一行配置(从配置文件来看,所说的5.0,实际内部版本号是4.4) <configSections> <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </configSections> 3.项目引用下新增了一个EntityFramework,指向c:*****EFStudypackagesEntityFramework.5.0.0lib et40EntityFramework.dll(EFStudy为解决方案名称) 4.该项目所在的解决方案下增加了名为“packages”的目录,里面存放包括dll在内的与ef5.0相关的文件。 按照如上步骤,可以在vs2010上安装EF5.0。 不过不得不吐槽:微软的这种方法,确实很不方便。 希望对你能有所帮助。^_^
原文地址:https://www.cnblogs.com/woaic/p/3942916.html