实体框架包未安装在项目上



我在将EF安装在我非常简单的名为"Match"的项目中时遇到了麻烦(刚刚学习MVC,迟到总比没有好)。 这里的一般上下文是,我创建了仅包含 2 个字段的 Model 类,现在我想将 Model 类更改为具有更多字段/属性。我已经在模型类中进行了更改,现在正在尝试更新数据库以匹配。我正在尝试使用 EF 的更新数据库来执行此操作。

PM> 安装包 EntityFramework 您正在从Microsoft下载实体框架,其许可协议可在 http://go.microsoft.com/fwlink/?LinkId=253898&clcid=0x409 获得。检查包中是否有其他依赖项,这些依赖项可能附带自己的许可协议。您使用软件包和依赖项即表示您接受其许可协议。如果您不接受许可协议,请从设备中删除相关组件。 已成功安装"实体框架 5.0.0"。 已成功将"实体框架 5.0.0"添加到匹配项。

键入"获取帮助实体框架"以查看所有可用的实体框架命令。

PM>启用迁移 获取包:找不到与参数名称"项目名称"匹配的参数。 at C:\Users\Dave\Documents\Visual Studio 2010\Projects\Match\packages\EntityFramework.5.0.0\tools\EntityFramework.psm1:611 char:40 + $package = 获取包 - 项目名称 <<<<$project。全名 | ?{ $_.Id -eq 'EntityFramework' } + 类别信息 : 无效参数: (:)[Get-Package], ParameterBindingException + FullQualifiedErrorId : NamedParameterNotFound,NuGet.PowerShell.Commands.GetPackageCommand

实体框架包未安装在项目"匹配"上。

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

此错误的一种可能性 - 在包管理器控制台中,有一个"默认项目"的下拉列表。如果设置不正确,您将获得 实体框架包未安装在项目 'x' 上。将下拉列表更改为 EF 项目,一切正常。

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

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

我刚刚重新启动了Visual Studio,它工作了。

就我而言,我在项目中安装了Microsoft.EntityFrameworkCore.Tools软件包! 问题已修复。

就我而言,我有一个项目由于某种原因没有 Packages.config 文件。结果是我收到错误消息"项目xxxx上未安装实体框架包"。

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

在我的项目中,我分别在它们上安装了EntityFramework。尽管它们在每个项目上都有相同的版本号,但它仍然不起作用。导致您得到的相同错误。

为了解决这个问题,我从所有项目中删除了EntityFramework,然后重新安装了它。

Get-Project -all | Uninstall-Package EntityFramework

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

Get-Project -all | Install-Package EntityFramework

我有同样的问题。我已将 EFCore 添加到已安装 EF6 的项目。所以添加迁移 xx 命令在 EFCore 的 EF6 中执行,我收到此错误。删除EF6并重新启动Visual Studio解决了我的问题。

必须将 EF 安装到项目中。您可以通过工具|管理NuGet包,在"已安装"下查看,然后单击"管理"。在那里,你将看到一个在项目中安装 EF 的选项。之后,一切都应该可以工作,并且可以更改模型。这可能需要相当长的时间(就我而言,确实如此!成功!Peter

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

install-Package Entityframework

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

我遇到过这个问题,我只需安装 Microsoft.EntityFrameworkCore.Tools nuget 包即可解决它

该包将启用以下常用命令:添加迁移删除数据库Get-DbContext获取迁移删除迁移Scaffold-DbContext脚本迁移Update-Database

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

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

如果在 Visual Studio 解决方案中卸载实体框架命令的目标项目(即,如果以前在"解决方案资源管理器"中右键单击该项目并选择"卸载项目"),则会发生此错误。

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

如果您是

第一次打开项目,应该可以工作,

第二次单击控制台项目和"设置为分层项目"

安装实体框架核心安装EntityFrameworkCore.SqlServer然后关闭 Visual Studio 并重新打开问题已修复

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

就我而言,

我有一个 Xamarin.Forms 解决方案,其中包含三个项目 - 后端(用于 Azure 数据库连接)、一个公共库、一个 iOS 项目和一个 Android 项目。我收到的错误消息是"项目中未安装 EntityFramework 包...""在程序集中找不到上下文类型..."。我已经通过将后端设置为我的启动项目,然后在包管理器控制台中输入以下格式的命令来解决它:

Enable-Migrations -ProjectName Backend -Verbose

之后

add-migration -ProjectName Backend Initial

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

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

我还要补充一点,关闭和打开Visual Studio为我解决了这个问题。截至撰写本文时,此问题发生在 Visual Studio 2022 上。

最新更新