add-migration:无法将参数绑定到参数“路径”,因为它是一个空字符串

Posted

技术标签:

【中文标题】add-migration:无法将参数绑定到参数“路径”,因为它是一个空字符串【英文标题】:add-migration : Cannot bind argument to parameter 'Path' because it is an empty string 【发布时间】:2017-07-28 20:52:40 【问题描述】:

我在 Visual Studio 2017 上运行默认 api 核心项目,支持 docker 和 每次运行命令 add-migration -name name

时都会出现此错误

。 在行:1 字符:1 + 添加迁移 + ~~~~~~~~~~~~~ + CategoryInfo : InvalidData: (:) [Add-Migration], ParameterBindingValidationException + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Add-Migration

PS : 这个命令在没有 docker 支持的情况下工作,但是当我添加 docker 支持时返回这个错误

【问题讨论】:

【参考方案1】:

知道这个错误发生在哪个版本的实体框架上会很有趣。 我在使用 EF 6.3.0 时遇到了同样的错误,而且我根本没有使用 docker。

我的解决方案是回到 6.2.0 版并使用它创建迁移。

【讨论】:

【参考方案2】:

我尝试了许多建议的解决方案,但似乎没有一个可行,除了这个:https://***.com/a/58592444/1819403

【讨论】:

【参考方案3】:

您似乎遇到了问题#7540。现在,将您的项目放在“物理”驱动器上,而不是网络文件共享上。(暂且不提。您正在使用 PMC 命令。)

您可能遇到了问题#7439。确保在运行命令时选择您的应用作为启动项目(或使用-StartupProject 参数)。

【讨论】:

你完全正确,因为我添加了 docker 支持,我的解决方案中添加了另一个项目“docker-compose”,将我的第一个项目设置为启动项目解决了问题,谢谢@布里斯拉姆 @bricelam 诚然,这将是挑剔的,但现在 Docker 支持在新的 asp.net 项目对话框中如此突出,将 Docker 设为默认项目的决定并不可取。

以上是关于add-migration:无法将参数绑定到参数“路径”,因为它是一个空字符串的主要内容,如果未能解决你的问题,请参考以下文章

无法将参数“消息”绑定到类型 ServiceBusReceivedMessage

错误索引方法“Class.Method”无法将参数“log”绑定到类型 TraceWriter

无法将多个参数绑定到请求的内容

Azure 函数无法将参数“messageReceiver”绑定到类型“Microsoft.Azure.ServiceBus.Core.MessageReceiver”

efcore Add-Migration 错误

无法在成员函数中绑定右值引用参数