【问题标题】:The term 'add-migration' is not recognized as the name of a cmdlet术语“add-migration”未被识别为 cmdlet 的名称
【发布时间】:2018-01-18 20:34:25
【问题描述】:

我的迁移从一天到另一天随机停止工作。我做了添加迁移,它说它没有被识别。我正在使用 PM,因为这是一个 asp.net mvc,并且前一天还在工作。

add-migration :术语“add-migration”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查 名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。

【问题讨论】:

  • 我怀疑您的默认项目:下拉菜单为空。只要您打开了一个项目,就应该启用它,因此请尝试从那里选择包含您的 EF 内容的项目,然后再次运行 Add-Migration
  • 感谢柯克与我们联系。在查看下拉菜单中的默认项目后,即使我的项目已打开,它显示在解决方案资源管理器中...所以基本上默认项目中没有选择任何内容。
  • 我该如何解决这个问题?
  • @RichardJimenez 你找到解决方案了吗?在 Visual Studio 2019(企业预览版)上,我遇到了同样的问题。我已经多次重启 Visual Studio,将其更新到最新的预览版 3.0,还安装了 Visual Studio 2019 Enterprise 和 2017 Enterprise。这些评论中的解决方案和答案本身都不能解决这个问题。我实际上得到了我实际上得到了 [this repo][1] from github [1]:github.com/csharpfritz/Quiltoni.PixelBot

标签: c# visual-studio entity-framework


【解决方案1】:

这不完全是 OP 遇到的问题,但至少对于 dotnet core,这也可能是由于没有安装 Microsoft.EntityFrameworkCore.Tools nuget 包引起的,该包用于 Visual Studio 中的包管理器命令和命令行。

【讨论】:

  • 安装“Microsoft.EntityFrameworkCore.Tools”后,我必须重新启动 Visual Studio,然后它才能工作
  • VS2022不需要重启
【解决方案2】:

我必须做的...

1) 工具 -> Nuget 包管理器 -> 包管理器设置

2) 常规标签

3) 清除所有 NuGet 缓存

4) 重启 Visual Studio

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,只需关闭包管理器控制台,然后重新启动 Visual Studio 即可修复它。

    【讨论】:

      【解决方案4】:

      我怀疑您的默认项目需要设置,正如 Kirk Larkin 在 cmets 中提到的那样。单击默认项目上的下拉列表并将其设置为您安装了实体框架的项目。

      如果您的默认项目下拉列表不会填充,此链接也可能会有所帮助 NuGet Package Manager Console Default Project dropdown is empty

      希望这会有所帮助!如果不让我知道,我会删除答案(我必须使用答案,因为我无法在 50 代表以下发表评论)干杯!

      【讨论】:

      • 你能解释一下这段代码吗? add-migration "Locations" -StartupProjectName "ProjectA" -ProjectName "ProjectB"
      • 启动并不是真正的代码,而是手动添加迁移的命令。所以你可以在包管理器控制台中输入它。 “Locations”是项目所在的位置,“StartupProjectName”是您想要用作启动项目的项目,然后只需列出您想要从中获取更改的项目。抱歉,如果这不是很清楚,我从来没有遇到过实体框架的问题,所以我从来没有使用过这个手动命令。没有提到的另一件事是尝试保存所有重新启动 Visual Studio 的内容,如果这不起作用,请尝试重新启动整个 PC
      • 另外,如果这可以解决您的问题,请不要忘记接受答案,这样它就不会在问题搜索中一直显示为未回答。
      • 所以对于位置,我必须澄清C盘桌面等吗?或者只是项目所在的文件夹名称?在我的情况下,我的文档中有一个名为 Projects 的文件夹。项目名称为 GigHub inside projects。我仍然退出混淆抱歉顺便说一句。
      • 运行后仍然说添加迁移未被识别。术语“add-migration”未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。检查名称的拼写,如果包含路径,请验证路径是否正确,然后重试。
      【解决方案5】:

      对我来说更简单,只需重新启动 VS2017 即可解决此问题。直到我获得了 VS2017 专业版才拥有它,所以这可能是最新版本中其他人的问题。

      【讨论】:

        【解决方案6】:
        1. 在 nuget 控制台中,检查您是否选择了正确的项目作为默认项目。
        2. 将此项目设置为启动项目

        【讨论】:

          【解决方案7】:

          我重新安装了 Nuget 包管理器,它对我有用。拳头我卸载了之前的2.0.x版本,然后安装了2.8.x版本

          【讨论】:

            【解决方案8】:

            好的,我们在“添加迁移”时也遇到了同样的错误,我尝试了一种解决方案,即使用以下步骤更新包管理器

            1. 在 Visual Studio 中,从“工具”菜单中选择“扩展和更新”选项。
            2. 在出现的对话框中,从左侧的树中展开“更新”节点。
            3. 从树中选择“Visual Studio Gallery”选项。
            4. 最后,在右侧更新列表中查找包管理器更新 并点击对话框旁边的“更新”按钮。

            大约 5 - 10 MB 更新,更新完成后尝试 Get-Help Add-Migration

            【讨论】:

              【解决方案9】:

              如果您在 Visual Studio for Mac 中遇到此问题,则只需重新安装 Nuget 包管理器控制台 扩展。它会解决你的问题

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2019-10-12
                • 2017-12-11
                • 2021-12-09
                • 2020-02-25
                • 2020-04-17
                • 2018-09-30
                • 1970-01-01
                相关资源
                最近更新 更多