我使用的是.NET4.0、MVC3和EF5,代码优先.

我的解决方案分为三个项目,其依赖性如下所示:

Project.Web -> Project.BLL -> Project.DAL

这个项目.DAL层包含我的实体框架数据上下文类和所有实体,但我的启动项目是project.网络,所以它包含了我的网络.配置、连接字符串和实际的SQL compact数据库.

我正在try 启用迁移,以便在不删除现有数据的情况下向EF模型添加新表.然而,当我运行"启用迁移"时,我得到

No context type was found in the assembly 'Project.Web'.

如果我将启动项目设置为Project.DAL,则错误更改为

Could not load assembly 'Project.Web'. (If you are using Code First Migrations inside Visual Studio this can happen if the startUp project for your solution does not reference the project that contains your migrations. You can either change the startUp project for your solution or use the -StartUpProjectName parameter.)

有人知道为什么会出现这个错误,或者我能做些什么来修复它吗?

推荐答案

我终于在this题中找到了答案.基本上,在package Manager控制台中有一个"默认项目"下拉列表.您需要将其设置为包含EF上下文的项目.

Asp.net相关问答推荐

Razor页面上@Foreach的正确语法,其中值可以等于多个值

HttpRuntime.Cache[] 与 Application[]

如何删除字符串的定义部分?

VS2012 中无法识别的标签前缀或设备过滤器asp

有条件地在 Gridview 中隐藏 CommandField 或 ButtonField

ASP.NET-MVC 中的表单发布上的 FormCollection 为空

ASP.NET 在更新面板更新时显示正在加载...消息

在asp.net mvc c#中使用cookie

HTTP 错误 503.该服务在简单的 ASP.NET 4.0 网站下不可用

HttpContext.Current.Cache.Insert 和 HttpContext.Current.Cache.Add 有什么区别

为什么aspx文件会返回404(找不到页面)

Httpclient 该实例已经启动了一个或多个请求.只能在发送第一个请求之前修改属性

ASP.Net:在共享/静态函数中使用 System.Web.UI.Control.ResolveUrl()

如何使用自动生成的列隐藏 ASP.NET GridView 中的列?

Asp.net Identity 密码哈希

aspnet_compiler 发现错误版本的 System.Web.WebPages 1.0.0.0 而不是 2.0.0.0

如何防止aspxerrorpath作为查询字符串传递给 ASP.NET 自定义错误页面

哪个控件导致了回发?

ASP.NET MVC NonAction 含义

ASP.NET Web 窗体中的 jQuery 验证插件