实体框架无法正确安装,启用迁移命令失败



我正在努力学习本教程:https://learn.microsoft.com/en-us/ef/ef6/modeling/code-first/migrations/

我使用的是Visual Studio 2017和Net 4.6.1。

一开始,事情似乎出了问题。当我在Package Manager控制台中使用命令Install-Package EntityFramework时,我会收到以下警告:

函数声明中缺少函数体。

在C:\Users\TC\Documents\Temp\Entity Framework Example\MigrationsDemo\packages\EntityFramework.6.4.0\tools\EntityFramework6.PS2.psm1:241 char:5
+<lt<lt;WarnIfOtherFs"启用迁移">
+类别信息:ParserError:(:([],ParentContainsErrorRecordException
+FullyQualifiedErrorId:MissingFunctionBody

导入模块:未处理模块清单"C:\Users\TC\Documents\Temp\Entity Framework Example\MigrationsDemo\packages\EntityFramework.6.4.0\tools\EntityFramework6.PS2.psd1"的字段"ModuleToProcess"中列出的要处理"EntityFramework6.PS2.psm1"的模块,因为在任何模块目录中都找不到有效模块。

在C:\Users\TC\Documents\Temp\Entity Framework Example\MigrationsDemo\packages\EntityFramework 6.4.0\tools\init.ps1:11 char:18
+导入模块<lt<lt;(加入路径$PSScriptRoot"EntityFramework6.PS2.psd1"(
+类别信息:资源不可用:(EntityFramework6.PS2:String([Import Module],FileNotFoundException
+FullyQualifiedErrorId:Modules_ModuleFileNotFound,Microsoft.PowerShell.Commands.ImportModuleCommand

如果我继续学习本教程,一切都很顺利,直到我进入在Package Manager控制台中运行Enable-Migrations的步骤。该命令失败,并出现以下错误:

术语"启用迁移"未被识别为cmdlet、函数、脚本文件或可操作程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。

行:1 char:18
+启用迁移<lt<lt
+CategoryInfo:ObjectNotFound:(启用迁移:字符串([],CommandNotFoundException
+FullyQualifiedErrorId:CommandNotFoundException

为什么会出现此错误,我该如何修复?

编辑

我认为这可能有助于升级我的开发环境,所以我切换到Visual Studio 2019,并将目标锁定在Net 4.7.2上。我仍然会犯同样的错误。

有人能告诉我你是否可以重现我描述的行为吗?了解问题是否在我这边,或者EntityFramework是否有问题,这将对我的调试过程有很大帮助,因为它会给每个人带来相同的错误。

编辑

我仍在努力寻找解决方案,我一直在尝试实体框架的旧版本。当前版本为6.4.0–不起作用。以前的版本是6.3.0,不起作用。在此之前的版本是6.2.0–工作顺利。因此,我将使用6.2.0开始开发我的项目。如果有人知道新版本失败的原因,请告诉我。我想使用最新版本。

我发现了问题所在。实体框架6.4.0需要PowerShell 3或更高版本。我收到这些错误是因为我有PowerShell 2。我通过升级PowerShell解决了所有问题。

最新更新