我被困在 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/