【发布时间】:2012-08-15 05:45:39
【问题描述】:
我最近从 MSDN 升级到 Visual Studio 2012 RTM Ultimate。我正在使用 EF Code First Migrations 在我的应用程序中构建我的数据库,并且我最近添加了一个新实体,并希望为它搭建迁移框架。
为此,您需要在 VS 中打开 Package Manage Console 窗口,然后输入 add-migration "some name here"。这将为您的数据库自上次更新以来所做的任何更改搭建支架。
问题
VS 2012 RC 上没有出现此问题
我遇到的问题是包管理器控制台中的“默认项目”下拉菜单未填充,尽管我的解决方案中有多个项目。当我只键入上面的命令时使用的默认项目是错误的项目(我的迁移在另一个项目中)。执行此操作时出现以下错误:
在程序集“ProjectA”中找不到迁移配置类型。 (在 Visual Studio 中,您可以使用包管理器控制台中的 Enable-Migrations 命令添加迁移配置。
我的尝试
我尝试将正确的项目(ProjectB)设置为启动项目,却得到这个错误:
无法加载程序集“ProjectA”。 (如果您在 Visual Studio 中使用 Code First 迁移,如果您的解决方案的启动项目未引用包含您的迁移的项目,则可能会发生这种情况。您可以更改解决方案的启动项目或使用 -StartUpProjectName 参数。)
问题
如何手动指定添加到哪些项目迁移,或强制填充默认项目下拉菜单?
【问题讨论】:
-
您可以运行
get-Help Add-Migration以获得该命令的完整帮助。该命令支持-ProjectName和-StartUpProjectName。尝试使用它们。我不确定这是否对您有帮助,因为那些空的下拉菜单很奇怪。如果您还没有尝试过,也可以尝试重新启动 VS / 关闭和打开包管理器。 -
-StartupProjectName 应该可以解决问题。我有同样的问题:下拉列表是空的
-
@LadislavMrnka 谢谢。请参阅下面的答案。
-
@amhed 谢谢。请参阅下面的答案。
标签: nuget visual-studio-2012 entity-framework-migrations entity-framework-5