项目上未安装EntityFramework包

时间:2012-08-12 14:47:26

标签: asp.net-mvc entity-framework visual-studio nuget-package

我无法让EF安装在我称为“匹配”的非常简单的项目上(刚才学习MVC,迟到总比没有好)。这里的一般上下文是我创建了只有2个字段的Model类,现在我想更改Model类以获得更多的字段/属性。我已在Model类中进行了更改,现在正尝试更新DB以进行匹配。我正在尝试使用EF的Update-Database来做到这一点。

  

PM> install-package EntityFramework   您正在从Microsoft下载EntityFramework,该许可协议位于http://go.microsoft.com/fwlink/?LinkId=253898&clcid=0x409。检查软件包是否有其他依赖关系,这可能与他们自己的许可协议一起提供。您对软件包和依赖项的使用即表示您接受其许可协议。如果您不接受许可协议,请从设备中删除相关组件。   已成功安装'EntityFramework 5.0.0'。   成功将“EntityFramework 5.0.0”添加到匹配。

     

输入'get-help EntityFramework'以查看所有可用的Entity Framework命令。

     

PM>启用的迁移   Get-Package:找不到与参数名称'ProjectName'匹配的参数。   在C:\ Users \ Dave \ Documents \ Visual Studio 2010 \ Projects \ Match \ packages \ EntityFramework.5.0.0 \ tools \ EntityFramework.psm1:611 char:40   + $ package = Get-Package -ProjectName<<<< $ project.FullName | ?{$ _.Id -eq'EntityFramework'}   + CategoryInfo:InvalidArgument:(:) [Get-Package],ParameterBindingException   + FullyQualifiedErrorId:NamedParameterNotFound,NuGet.PowerShell.Commands.GetPackageCommand

     

项目'匹配'上未安装EntityFramework包。

19 个答案:

答案 0 :(得分:210)

希望没有人像我一样愚蠢,但为了搜索者的利益:

此错误的一种可能性 - 在程序包管理器控制台中,有一个“默认项目”下拉列表。如果设置不正确,您将获得项目'x'上未安装EntityFramework包。将下拉菜单更改为您的EF项目,一切都很好。

答案 1 :(得分:26)

就我而言,重启Visual Studio有帮助。

答案 2 :(得分:21)

只需将NuGet更新为2.x. EF 5.0需要它。

答案 3 :(得分:8)

在我的情况下,我有一个项目,由于某种原因没有Packages.config文件。结果是我得到了错误消息“项目xxxx上没有安装EntityFramework包”。

要解决此问题,只需添加一个Packages.config文件,然后“Install-Package EntityFramework”就可以了。

答案 4 :(得分:5)

在我的项目中,我分别在它们上安装了EntityFramework。即使它们在每个项目上都具有相同的版本号,但它仍然无效。导致同样的错误。

要解决此问题,我从所有项目中删除了EntityFramework并重新重新安装。

Get-Project -all | Uninstall-Package EntityFramework

接下来,您只需重新安装即可。

Get-Project -all | Install-Package EntityFramework

答案 5 :(得分:3)

您必须将EF安装到项目中。您可以通过工具|管理NuGet包执行此操作,在“已安装”下查看,然后单击“管理”。在那里,您将看到在项目中安装EF的选项。在那之后一切都应该工作,模型变化将是可能的。 这可能需要相当长的时间(在我的情况下,确实如此!)。 成功! 彼得

答案 6 :(得分:3)

我有同样的问题。 我已将EFCore添加到已安装EF6的项目中。 因此,使用EFCore设置为EF6的EF6执行add-migration xx命令,我收到此错误。 删除EF6并重新启动Visual Studio解决了我的问题。

答案 7 :(得分:2)

打开包管理器控制台并从包管理器控制台的下拉列表中选择默认项目。在命令窗口中使用此命令安装实体框架。

install-Package Entityframework

答案 8 :(得分:2)

在我的情况下,我在我的项目中安装了Microsoft.EntityFrameworkCore.Tools包!问题已解决。

答案 9 :(得分:1)

在我的情况下,重新安装实体包并重新启动 Visual Studio。

答案 10 :(得分:1)

尝试从项目的Nuget包管理器更新实体框架包,解决了我的问题。

答案 11 :(得分:0)

如果您是第一次打开项目,应该可以使用

第二次单击控制台项目,然后单击“设置为分层项目”

答案 12 :(得分:0)

安装 EntityFrameworkCore 安装 EntityFrameworkCore.SqlServer 然后关闭Visual Studio,然后重新打开 问题已解决

答案 13 :(得分:0)

如果在Visual Studio解决方案中卸载了Entity Framework命令的目标项目,则会发生此错误(即,您之前在解决方案资源管理器中右键单击了该项目并选择了#34;卸载项目& #34;。)

在这种情况下,解决方案是加载项目,然后再次尝试运行Entity Framework命令。

答案 14 :(得分:0)

我刚刚重新启动了Visual Studio,它可以正常工作。

答案 15 :(得分:0)

您还可以在VS中清除缓存NuGet。解决了我的问题

答案 16 :(得分:0)

就我而言,我有一个Xamarin.Forms解决方案,其中包含三个项目-后端(用于Azure数据库连接),一个公共库,一个iOS项目和一个Android项目。我收到的错误消息是“未在项目上安装EntityFramework程序包...” “在程序集中未找到上下文类型...” 。通过将Backend设置为StartUp项目,然后在Package Manager控制台中以以下格式输入命令,可以解决此问题:

Enable-Migrations -ProjectName Backend -Verbose

然后是

add-migration -ProjectName Backend Initial

我希望这对某人有帮助:)

答案 17 :(得分:0)

此问题可能与EntityFramework和EntityFrameworkCore两个版本的冲突有关。要检查它,您可以在程序包管理器控制台中编写:Get-Module。如果同时看到EntityFramework和EntityFrameworkCore,则需要删除EntityFramework或在EntityFramework上链接的依赖项。对于搜索依赖性,您可以在解决方案资源管理器中使用搜索解决方案输入。删除依赖项或EntityFramework后,您需要重新启动项目。

答案 18 :(得分:0)

在我的情况下,packages.config文件在磁盘上但不在TFS中。