【问题标题】:.Net Core can't use Add-migrations with Docker support.Net Core 不能使用支持 Docker 的 Add-migrations
【发布时间】:2017-02-10 14:37:04
【问题描述】:

我被困在 ASP.NET Core 项目中使用带有 docker 支持的 EF 命令。

我使用 Visual Studio 2017 RC 创建了一个 ASP.NET Core API 基础项目。

我添加了实体框架工作所需的依赖项和配置。

我运行了Add-migration "name"Update-database,一切正常。

但由于我在项目中添加了 Docker 支持,所以每次运行 EF 命令时都会收到以下错误:

Add-migration : Cannot bind argument to parameter 'Path' because it is an empty string.

 At line:1 char:1
+ Add-migration init-database
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [Add-Migration], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Add-Migration

正如我在许多教程中看到的,无需更新 Docker 文件或 Docker 组合文件即可使 EF 命令可用,但也许我错了。

PS:Docker 工作得很好,我可以通过 Docker 运行项目而没有任何问题。由于 Docker 支持在解决方案中创建了另一个项目,我已经尝试在应用程序项目路径上运行命令而不是解决方案路径,但它并没有改变任何东西。

【问题讨论】:

  • 这绝对不是我的情况,我通过 Docker 支持在 Visual Studio 2017 RC 上使用 Entity Framework Core 和最新的 dotnet 核心,正如我所说,我能够在添加 docker 支持之前添加迁移.但我认为,我的问题是与 Visual Studio 2017 RC 和 Docker 支持相关的错误,因为我在 Visual Studio 2015 上测试了相同的场景并且一切正常。
  • @BriceMolesti 我也有同样的问题。使用 docker 支持创建了新项目,我也遇到了这个错误......
  • @Kryptoxx 如果您仍然遇到这个问题,请查看下面的答案。

标签: docker asp.net-core visual-studio-2017


【解决方案1】:

启用 docker 支持将项目“docker-compose”添加到解决方案中。

所以只需将您的初始应用项目设置为启动项目即可解决问题

或者使用 -startupproject "yourinitialappproject" 运行任何 EF 命令

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-24
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    • 2020-01-15
    相关资源
    最近更新 更多