我在将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 上。