43

我刚刚加入 EF 5 并正在使用他们的代码优先迁移工具,但是当我尝试启用迁移时似乎遇到了错误。

我输入Enable-Migrations包管理器控制台,然后它说

在当前项目中找不到派生自 DbContext 的类。
编辑生成的配置类以指定启用迁移的上下文。
为项目 MyApp.MvcUI 启用了 Code First 迁移。

然后它会在我的 MvcUI 项目中创建一个 Migrations 文件夹和一个配置类。问题是,我的 DbContext 位于一个名为 MyApp.Domain 的类库项目中。它应该在该项目中完成所有这些工作,并且找到我的 DbContext 应该没有问题。

4

2 回答 2

106

哦,哇,没关系。我很笨。

在 Nuget 包管理器控制台中,顶部有一个标有“默认项目:”的下拉菜单。确保将其设置为要对其运行命令的项目。

希望这可以帮助其他人避免我的尴尬错误。

于 2012-03-02T02:58:50.953 回答
11

实际上有 3 种方法可以让 Nuget 命令在特定项目中运行:

  1. [包管理器控制台] 在控制台工具窗口顶部的下拉菜单中设置活动项目
  2. [包管理器控制台] 寻找一个参数来指定项目。对于我见过的一些 cmdlet -ProjectName 和一些使用 -Project
  3. [解决方案资源管理器] 右键单击​​所需的项目,然后使用图形包管理器窗口(管理 NuGet 包...)。
于 2012-03-02T07:15:32.493 回答