将ASP.NET MVC4与EF4.3一起使用
从PM控制台运行Enable-Migrations
System.Management.Automation.RuntimeException:项目'MyProj' 未能建立。 “MyProj”项目未能建成。
项目构建(control-shift-B)
有没有办法获得有关此错误的详细信息以进行诊断?
答案 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 指令 或程序集参考?)
我马上就知道在代码的某个地方,我将产品更改为产品
一旦我将其恢复为产品,错误就消失了。