【问题标题】:NuGet Console in visual studio 2017 RC won't Add-Migration or Update-Database?Visual Studio 2017 RC 中的 NuGet 控制台不会添加迁移或更新数据库?
【发布时间】:2017-05-03 00:06:05
【问题描述】:

我最近买了一台新电脑,发现有一个新版本的 Visual Studio。 我尝试在 Nuget 管理器控制台中更新数据库,但我明白了。

包管理器控制台的 Entity Framework Core 命令尚不支持基于 csproj 的 .NET Core 项目。请改用 .NET 命令行工具(即 dotnet ef)。详情请见https://go.microsoft.com/fwlink/?linkid=834381

然后我按照说明使用 dotnet CLI(之前从未使用过,所以不确定如何使用它)添加了工具,然后按照说明恢复了 dotnet。然后我输入 dotnet ef database update 以添加我已经拥有的迁移,但这会出现:

dotnet : 找不到匹配命令“dotnet-ef”的可执行文件

在 line:1 char:1

  • dotnet ef 数据库更新
  • CategoryInfo : NotSpecified: (No executable f...and "dotnet-ef" :String) [], RemoteException
  • FullyQualifiedErrorId : NativeCommandError

【问题讨论】:

    标签: c# entity-framework visual-studio nuget visual-studio-2017


    【解决方案1】:

    我假设您已将 ef-tools 包添加到您的 project.json 工具部分?

    您应该有一个如下所示的部分:

    "tools": {
        "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.1.0-preview4-final",
        "Microsoft.AspNetCore.Razor.Tools": "1.1.0-preview4-final",
        "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final"
    },
    

    我通常打开 nuget 包控制台并在那里输入迁移命令。不再需要在该命令前面加上“dotnet ef”。这样一来,它与 EF6 框架体验并没有太大区别。

    刚刚在asp.net核心网站上也找到了一个不错的教程:https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/new-db

    【讨论】:

    • 是的,我的“工具”部分中有这些。我也将 nuget 包控制台用于迁移命令,但用于 Visual Studio 2015
    【解决方案2】:

    找到您的项目路径,其中存储了 project.json 文件。您可以先在包管理器控制台中使用“cd”命令来定位路径。然后再次输入“dontnet ef”。

    因为Package Manager Console只有在项目文件夹(包含project.json的文件夹)中才能理解“dotnet-ef”。

    【讨论】:

      【解决方案3】:

      我在使用 Entity Framework Core 时遇到了同样的问题。您需要 100% 确定您的代码和 NuGet 依赖项没有问题。当我现在遇到这些问题时,我会运行代码分析并解决那里的所有问题。如果这不起作用,我会转到项目的命令行并运行:

      dotnet restore
      dotnet build
      dotnet pack 
      

      我再次解决任何可能出现的问题。

      这在 80% 的时间内有效。如果这没有暴露 EF 的问题,我会运行我的网络应用程序的发布。

      对我来说,一些错误来自我的种子数据例程——即使它们没有被调用。我已诉诸注释掉整个种子数据代码以使 EF 正常工作。

      谢谢, 约翰

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-09-12
        • 1970-01-01
        • 2019-05-17
        • 2018-09-13
        • 2022-01-09
        • 2013-03-24
        • 1970-01-01
        相关资源
        最近更新 更多