martes, 24 de abril de 2012

CS0012: El tipo 'System.Data.Objects.DataClasses.EntityObject' está definido en un ensamblado al que no se hace referencia...

Hoy, haciendo una prueba me he tropezado el siguiente error al intentar usar un objecto definido en el modelo del Entity Framework

Mensaje de error del compilador: CS0012: El tipo 'System.Data.Objects.DataClasses.EntityObject' está definido en un ensamblado al que no se hace referencia. Debe agregar una referencia al ensamblado 'System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

Lo que estaba haciendo en la vista era lo siguiente
@model Model.Persona
@{
    ViewBag.Title = "Detalle";
    Layout = "~/Views/Shared/_Public.cshtml";
}
<h2>@Model.Nombre</h2>
Vamos algo relativamente normal. Lo curioso del error era que mi proyecto ASP.NET MVC si tenía agregada la referencia a System.Data.Entity como se puede ver en la imagen


La solución pasa por añadir la referencia a System.Data.Entity en el web.config de la manera siguiente
<system.web>
  <compilation debug="true" targetFramework="4.0">
    <assemblies>
      <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </assemblies>
  </compilation>
</system.web>

Happy coding!

No hay comentarios:

Publicar un comentario