docker - .Net Core 不能使用支持 Docker 的 Add-migrations

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

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

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

我添加了 Entity Framework 工作所需的依赖项和配置。

我跑了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 compose 文件即可使 EF 命令可用,但也许我错了。

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

最佳答案

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

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

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

关于docker - .Net Core 不能使用支持 Docker 的 Add-migrations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42161945/

相关文章:

docker - Kubernetes Pod意外重启

python - 使用Python从Docker容器内获取MYSQL_TCP_ADDR?

docker - 多个 Docker 容器和 Celery

PhpStorm 映射路径

c# - 如何使用 Linq Skip 和 Take 调用 Expression<Func<T, bool>> 参数化函数

c# - 如何在 ASP.NET CORE 中为多个策略创建自定义授权属性

在 Visual Studio 2017+ 中调试多个 Web Docker 容器

c# - Visual Studio - SQL Server 数据库项目的连接字符串

asp.net-core - 如何将 ASP.NET 5 (vnext) 从 Beta5 升级到 Beta6

visual-studio - 无法启动 IIS Express Web 服务器 - 无法注册 URL - 文件已存在时无法创建文件 | VS 社区 2017