无法在 Visual Studio 2019 中列出实体框架迁移,因为 dotnet ef dbcontext --js



我有一个使用 .NET Core 3.0 的 ASP.NET Core 3.0 项目。我最近将VS 2019升级到16.4.1版本。

我使用 Visual Studio 中的 Web 发布在各种环境中部署应用程序,但由于 EF 迁移(尝试查找数据库上下文失败(,升级后失败了:

dotnet ef dbcontext --JSON failure

运行"dotnet tool restore"以使"dotnet-ef"命令可用。

我试图理解出了什么问题。

dotnet tool restore

找不到清单文件。有关搜索位置的列表,请指定 工具名称前的"-d"选项。未恢复任何工具。

dotnet tool install --global dotnet-ef

工具"dotnet-ef"已安装。

dotnet tool list

包 ID 版本命令清单

(此列表中没有项目(

dotnet-ef --version

实体框架核心 .NET 命令行工具 3.1.0

dotnet --version

3.1.100

我是否需要升级才能将所有内容升级到 3.1?如果可能的话,我想推迟这个(我必须在多个环境中这样做,并且稍后会安排

(。注意:我也有 Visual Studio 2017 和实体框架迁移上下文在配置发布配置文件时正确发现。

问题:如何解决由于dotnet ef dbcontext --json失败而无法在Visual Studio 2019中列出实体框架迁移?

我遇到了同样的问题(在Visual Studio 2019更新后(,在我的电脑上有这个问题,但在另一台电脑上没有。文件都是相等的(通过git检查(,VS2019在某处缓存一些东西,这很糟糕。

1 检查默认连接字符串是否正常。

2 检查是否安装了 dotnet ef。在核心 3.1 中,您必须安装:dotnet tool install -g dotnet-ef

3 关闭VS,删除文件夹<yourproject>/Properties(如果需要,请备份(,打开VS,清理解决方案并再次导入发布文件。

运行

dotnet tool uninstall --global dotnet-ef

dotnet tool install --global dotnet-ef

对于 Linux 和 macOS,请在 shell 的配置中添加一行:

  • bash/zsh: (nano ./zshrc(

    export PATH="$PATH:$HOME/.dotnet/tools/"
    
  • csh/tcsh:

    set path = ($path $HOME/.dotnet/tools/)
    

来源: https://stackoverflow.com/a/56876020/9324707

我遇到了同样的问题,但不知道我必须cd到"服务器"项目中然后运行dotnet tool restore。这为我解决了这个问题。

dotnet ef 工具不再是 .NET Core SDK 的一部分 此更改允许我们将 dotnet ef 作为常规 .NET CLI 工具发布,该工具可以作为全局或本地工具安装。例如,为了能够管理迁移或搭建 DbContext 基架,请安装 dotnet ef 作为全局工具,键入以下命令:

$ dotnet工具安装 --global dotnet-ef --version 3.0.0-preview4.19216.3 有关详细信息,请参阅此中断性更改的详细信息。

我想我解决了。我缺乏 Microsoft.EntityFrameworkCore.Design。

  1. 使用 NuGet Microsoft.EntityFrameworkCore.Design 3.0.0 安装
  2. dotnet tool restore这次成功了

    点网工具还原

工具"dotnet-ef"(版本"3.1.0"(已恢复。可用命令: dotnet-ef

相关内容

  • 没有找到相关文章

最新更新