EF Core迁移Add-Migration命令异常:多启动项目问题求助
解决EF Core迁移时“找到多个启动项目”的问题
嘿,这个问题我太熟了!系统恢复后解决方案的启动项目配置大概率乱掉了,EF Core找不到该用哪个项目来加载迁移需要的配置信息,给你几个简单有效的解决办法:
检查并调整解决方案启动项目设置
右键你的解决方案(在Solution Explorer里),选择「属性」,切换到「启动项目」标签页。如果当前选的是「多个启动项目」,改成「单一启动项目」,然后选中你实际运行的主应用项目(比如Web项目、WPF项目这类),点击确定保存。这样EF Core就能明确用哪个项目来读取配置了。执行迁移命令时指定启动项目和目标项目
如果你不想改动全局的启动项目设置,可以直接在Add-Migration命令里加上参数明确指定:Add-Migration 20180209 -verbose -StartupProject "你的主应用项目名称" -Project "3 - Infrastructure\Any.Gym.Infrastructure.Context"这里
-StartupProject用来指定EF Core需要加载配置的项目(也就是你的业务主项目),-Project指定包含DbContext的那个项目(就是系统自动选中的这个Infrastructure项目)。记得把「你的主应用项目名称」换成你实际的项目名哦。利用Package Manager Console的默认项目设置
在Visual Studio的Package Manager Console里,找到顶部的「默认项目」下拉框,先选中3 - Infrastructure\Any.Gym.Infrastructure.Context,然后确保你的解决方案启动项目已经设置为单一的主应用项目,再重新执行迁移命令就可以了。
内容的提问来源于stack exchange,提问作者Vinícius Filenga
相关产品推荐
相关产品推荐

