NuGet包管理器控制台默认项目下拉列表为空

Kyl*_*man 26 nuget ef-migrations entity-framework-5 visual-studio-2012

我最近从MSDN升级到Visual Studio 2012 RTM Ultimate.我正在使用EF Code First Migrations在我的应用程序中构建我的数据库,最近我添加了一个新实体,并希望为它进行迁移.

为此,您需要在VS中打开"包管理控制台"窗口,然后键入add-migration "some name here".这将自上次更新以来对数据库进行任何更改.


问题

VS 2012 RC上未发生此问题

我遇到的问题是,尽管我的解决方案中有多个项目,但未填充程序包管理器控制台中的"默认项目"下拉列表.我在上面输入命令时使用的默认项目是错误的项目(我的迁移在另一个项目中).我这样做时收到以下错误:

在程序集"ProjectA"中未找到任何迁移配置类型.(在Visual Studio中,您可以使用程序包管理器控制台中的"启用 - 迁移"命令添加迁移配置).

Visual Studio 2012程序包管理器控制台


我试过的

我已经尝试将正确的项目(ProjectB)设置为启动项目,只是为了得到这个错误:

无法加载程序集"ProjectA".(如果在Visual Studio中使用Code First Migrations,如果解决方案的startUp项目未引用包含迁移的项目,则可能会发生这种情况.您可以更改解决方案的startUp项目或使用-StartUpProjectName参数.)


问题

如何手动指定要添加的项目迁移,或强制"默认项目"下拉列表填充?

Kyl*_*man 15

我能够使用以下方法手动指定项目:

add-migration "Locations" -StartupProjectName "ProjectA" -ProjectName "ProjectB"
Run Code Online (Sandbox Code Playgroud)

这个命令的文档是稀疏的,所以这是我假设发生的事情:

  1. -StartupProjectName 指定存储数据库配置的项目(在我的情况下是一个MVC4项目)
  2. -ProjectName 指定要迁移迁移的项目.

我已经ProjectB设置为我的应用程序的启动项目,由于测试的这个问题,但我认为你可以忽略-StartupProjectName,如果正确的项目被设置为VS.启动项目


dan*_*pop 14

在VS 2015中,我刚刚重新启动IDE并再次填充下拉列表.