enable-migrations错误:项目无法构建

时间:2012-08-11 23:12:22

标签: asp.net-mvc entity-framework

将ASP.NET MVC4与EF4.3一起使用

从PM控制台运行Enable-Migrations

  

System.Management.Automation.RuntimeException:项目'MyProj'   未能建立。 “MyProj”项目未能建成。

项目构建(control-shift-B)

有没有办法获得有关此错误的详细信息以进行诊断?

5 个答案:

答案 0 :(得分:4)

从包管理器控制台执行“启用 - 迁移”需要引用特定的DbContext。例如

PM> Enable-Migrations -ContextTypeName myMvcApp.Web.Infrastructure.ContextDb

您不需要安装第三方程序集或除EntityFramework 4.3+以外的任何其他程序集(上面的命令适用于EF 5.0。这不是一个很好的文档,但EF的基本功能。

答案 1 :(得分:3)

如果要构建64位应用程序,也会发生这种情况。在构建迁移时至少暂时切换到“任何CPU”,问题可能会消失。但这只是一个的事情,可能导致该错误。

答案 2 :(得分:2)

原来我之前已经在没有dbContext的项目上运行了这个。这创建了一个迁移配置类,它说“填写类的名称”,但是无法构建。

这导致我的一个项目无法编译。

删除Configuration类解决了我的问题。

答案 3 :(得分:2)

我们要清楚。这个错误令人困惑,因为该消息表明项目不会构建,而它显然在Visual Studio中进行编译。

在重构ApplicationDbContext和其他安全类的名称空间以匹配

中的文件夹结构后,我发生了这种情况。
namespace {projectname}.Models

namespace {projectname}.Models.Account

恢复此命名空间重构可以解决问题。

有时,很少,ReSharper不是你的朋友。

答案 4 :(得分:0)

就我而言,Visual Studio 输出窗口中有一条更有意义的消息。

<块引用>

PosmasterDBContext' 不包含 'Products' 的定义和 没有接受类型的第一个参数的扩展方法“产品” 可以找到“PosmasterDBContext”(您是否缺少 using 指令 或程序集参考?)

我马上就知道在代码的某个地方,我将产品更改为产品

一旦我将其恢复为产品,错误就消失了。