EF Core添加迁移构建失败

jce*_*ddy 45 .net entity-framework .net-core asp.net-core

我有一个开发人员正在"构建失败".在.NET Core EF项目中运行add-migration时,没有解释构建失败的原因.你如何解决这个错误?

这是他在Package Manager控制台中获得的内容:在此输入图像描述

其他信息:

我们有一些其他开发人员使用相同的解决方案代码(包括我自己),这些代码没有添加迁移的问题.

这是我在Package Manager Console中看到的:在此输入图像描述

我们已经验证了项目的构建,并构建了整个解决方案.除了重启VS2015之外,我们已经完成了"dotnet restore"并多次重建.我们已经验证在解决方案资源管理器和Package Manager控制台下拉列表中都选择了正确的默认解决方案.我们已经确认他的计算机上安装了正确的SDK.关于接下来要检查什么,我感到很遗憾......任何时候我在添加迁移过程中都遇到了故障我已经获得了足够的信息指向我要检查的方向,但只是"构建失败了. " 是一个相当无用的错误输出.

mmh*_*h18 38

这是因为您的解决方案中的其他项目.例如,如果您的解决方案中有两个项目作为项目A和项目B.如果项目A未成功构建,则项目B数据迁移将失败.因此,您应该卸载项目A并再次将迁移添加到项目B.

我认为这不是一个好的答案,但希望这有帮助.

  • 我运行了“dotnet run watch”并阻止了一切 (3认同)
  • 识别问题的最简单方法: 1. 打开命令行 2. 导航到要添加迁移的项目文件夹 3. 运行 `dotnet build` 输出将显示所有错误和警告 (3认同)

Len*_*rri 22

我在使用 Visual Studio 2019 版本 16.5.0 时遇到了这个问题。

最后解决了什么:

  • 关闭 Visual Studio;
  • 重新打开 Visual Studio;
  • 如果您有多个项目,请确保右键单击解决方案并选择Rebuild Solution

请注意,我Rebuild Solution之前尝试过,但没有发现错误。所以关闭VS并重新打开它很重要。

然后它显示了导致add-migration命令失败并Build failed显示消息的错误。

  • 谢谢!简单......这只是关闭并重新打开 Visual Studio 的问题:) (3认同)

Mak*_*kla 21

我有完全相同的问题(.NET Core 2.0.1).

如果项目重建,有时会有帮助.

当我在2个Visual工作室中打开项目时,我也遇到问题.
关闭一个Visual Studio修复错误.

  • 在更改`appsettings.json`上的连接字符串后重建项目对我来说有效。 (2认同)

Bha*_*ari 11

尝试以下步骤:

  1. 清洁溶液。

  2. 分别构建每个项目。

  3. 如果发现任何错误,请解决(有时,在单独构建之前,VS 不会显示错误)。

  4. 然后再次尝试运行迁移。


Lia*_*han 9

在我的情况下,这是错误

namespace aspnetcore does not exist .. are you missing a reference?
Run Code Online (Sandbox Code Playgroud)

我通过在dotnet ef命令中添加-v(或--verbose)标志来解决这个问题.

  • 添加-v救了我。 (3认同)

Met*_*ymy 9

就我而言,应用程序正在运行。显然,它需要停止。无论如何,奇怪的错误消息。


Yar*_*lav 7

有同样的情况。这有助于:

  1. 打开包管理器控制台

  2. 将目录更改为Migrations文件夹:

    cd C:\YourSolution\YourProjectWithMigrations
    
    Run Code Online (Sandbox Code Playgroud)
  3. 输入下午:

    dotnet ef migrations add YourMigrationName
    
    Run Code Online (Sandbox Code Playgroud)


Arc*_*heg 6

在 Visual Studio 中打开输出窗口并检查您的构建日志。就我而言,即使我当前的配置是Release,在 中Add-Migration构建了项目Debug,但有错误。出于某种原因,VS 没有为我在输出窗口之外的任何地方显示错误。


小智 6

当我尝试运行时遇到了同样的错误add-migration。确保您的代码中没有任何语法错误。

我的代码中有一个语法错误,修复它后,我能够运行add-migration.


Rom*_*ory 5

我建议添加-v以获取更多信息。

在我的示例中,我不得不添加 <LangVersion>latest</LangVersion>到我的项目中,因为其中一些项目没有这样做。


jce*_*ddy 1

开发人员最终从 TFS 取消了该项目的映射,将其删除,然后重新映射。现在它对他有用。