asp.net - referencia - No se encontró ningún tipo de contexto en el ensamblado
no se puede cargar el archivo o ensamblado system runtime (4)
Estoy usando .NET 4.0, MVC3 y EF5 con el código primero.
Mi solución se divide en tres proyectos, con las dependencias como se indica:
Project.Web -> Project.BLL -> Project.DAL
La capa Project.DAL contiene mi clase de contexto de datos de entidad y todas mis entidades, pero mi proyecto de inicio es Project.Web, por lo que contiene mi Web.config, las cadenas de conexión y la base de datos compacta de SQL real.
Intento habilitar migraciones para poder agregar una nueva tabla a mi modelo EF sin borrar los datos existentes. Sin embargo, cuando ejecuto "Habilitar migraciones", obtengo
No context type was found in the assembly ''Project.Web''.
Si configuro el proyecto de inicio como Project.DAL, el error cambia a
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.)
¿Alguien sabe por qué se está causando este error o qué puedo hacer para solucionarlo?
Encontré una publicación similar: ¿ Habilita las migraciones con contexto en ensamblaje separado?
Ejemplo:
enable-migrations -ContextProjectName MyProject.DBContexts -contexttypename MyProject.DBContexts.MyContextName -Verbose
También sucede si por alguna razón su clase con la conexión no está en el proyecto. Así que haga clic derecho y ''agregar al proyecto'' lo resuelve.
Para quien cometió este error como yo:
Su clase de contexto debe heredar de DbContext
, así como así:
public class DirectorRequestContext : DbContext
{
public DbSet<DirectorRequest> DirectorRequests { get; set; }
}
Finalmente encontré la respuesta en esta pregunta. Básicamente, en la consola de Package Manager hay un menú desplegable de "Proyecto predeterminado". Debe configurar esto para el proyecto que contiene su contexto EF.