Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 找不到程序集“;“实体框架”;_C#_Asp.net_Asp.net Mvc_Visual Studio_Entity Framework - Fatal编程技术网

C# 找不到程序集“;“实体框架”;

C# 找不到程序集“;“实体框架”;,c#,asp.net,asp.net-mvc,visual-studio,entity-framework,C#,Asp.net,Asp.net Mvc,Visual Studio,Entity Framework,我在家里的电脑上开发这个MVC3应用程序已经有一段时间了。我在外地使用另一台计算机,所以我从我的源代码管理处得到了这个项目。这台新计算机还没有MVC 3,所以我在将项目复制到新计算机后安装了它 我的很多dll(比如MvcContrib.dll)都丢失了,因为我第一次在家用计算机上创建项目时没有将Copy Local设置为true。所以我一直在下载所有丢失的DLL,并将它们添加到我的项目中 我唯一找不到的是EntityFramework.dll。我找不到它的下载,当我尝试添加引用时,我也没有将其视

我在家里的电脑上开发这个MVC3应用程序已经有一段时间了。我在外地使用另一台计算机,所以我从我的源代码管理处得到了这个项目。这台新计算机还没有MVC 3,所以我在将项目复制到新计算机后安装了它

我的很多dll(比如MvcContrib.dll)都丢失了,因为我第一次在家用计算机上创建项目时没有将Copy Local设置为true。所以我一直在下载所有丢失的DLL,并将它们添加到我的项目中

我唯一找不到的是EntityFramework.dll。我找不到它的下载,当我尝试添加引用时,我也没有将其视为.NET dll

我在尝试构建时收到以下警告:
无法解析此引用。找不到程序集“EntityFramework”

下载并安装Framework 4.0,它已包含在内


您需要分别下载和安装实体框架:


我通过下载ASP.NET MVC工具更新解决了类似的问题。你有没有可能在另一台电脑上错过了

如果尚未安装,请在Visual Studio中安装

  • 安装(使用WebPI最简单)
  • 然后安装
  • 其他软件包可能适用于可能丢失的项目,如
使用Nuget不仅可以使您拥有包含源代码的包(在packages目录中),还可以帮助您保持最新。理想情况下,您所依赖的外部依赖关系应该包含在您的解决方案中,这样就不会出现像您这样的情况


正如邪恶的Greebo所指出的,您需要获得VisualStudio工具。虽然Nuget包将提供代码级支持,但工具在安装程序中。我同时使用这两种方法,因此如果包有更新,它将显示在Nuget更新通知中。

当您手动删除项目中的EntityFramework引用时,也会发生这种情况

如果丢失了引用,可以删除EntityFramework的packages.config中的条目

<packages>
    <package id="EntityFramework" version="5.0.0" targetFramework="net40" />
</packages>


删除后,您可以通过软件包管理器(管理NuGet软件包)重新安装软件包。

如果以前安装了EntityFramework,您还可以使用browse手动添加引用。在项目文件夹中选择以下文件:\packages\EntityFramework.5.0.0\lib\net4x\EntityFramework.dll

如果packages.config中缺少以下内容,请添加:

<packages>
    <package id="EntityFramework" version="5.0.0" targetFramework="net4x" />
</packages>


来自Framework 4.0下载页面;实体框架使开发人员能够使用.NET对象和语言集成查询(LINQ)针对关系数据库编程。它不是单独安装的。EF 4.1是-但我确实认为他想要最新版本。:)上面说我已经在这台电脑上安装了EF4.0。我假设它包含在MVC3工具更新中。问题是我在将MVC 3项目复制到这台计算机后下载了更新吗?不管怎样,我刚刚创建了一个新项目,其中包含了dll。然后,我刚刚添加了一个来自该项目的引用。当我在VS2012中打开一个VS2010/EF4.1项目时,这对我来说是有效的,即使在将解决方案升级到.NET 4.5并通过NuGet安装EF5之后,我也看不到EntityFramework参考。然后我听从了Mark的建议,现在我的项目中有了参考资料。谢谢你,这正是你需要知道的实现细节,当Microsoft的工具以某种方式损坏(就像它们总是这样)并且无法自行修复时。