2012-02-28 21 views
8

Cuando el usuario el comando Añadir a la migración de la migración de Entity Framework consigo la siguiente excepción:referencia nula en la Entidad Migración Marco

System.NullReferenceException: Object reference not set to an instance of an object. at System.Data.Entity.Migrations.Extensions.ProjectExtensions.GetFileName(Project project, String projectItemName) at System.Data.Entity.Migrations.MigrationsCommands..ctor(Object project, Object startUpProject, String configurationTypeName, String connectionStringName, String connectionString, String connectionProviderName, PSCmdlet cmdlet)

Cualquier idea?

+0

¿Cuál era la línea de comando completa? ¿Lo apuntaste a un archivo existente? ¿Estaba el archivo realmente allí? – Oded

+0

¿Podría publicar más detalles? ¿Ya ha activado Migraciones para su proyecto (el archivo inicial)? ¿Qué cambios has hecho? –

+0

El comando era como "Migración de Add-Migration05". La migración funcionaba bien. Trasladé el proyecto a TFS y ahora ya no funcionará. Estoy usando EF 4.3 –

Respuesta

27

He visto esto antes cuando hay varios proyectos en la solución y se selecciona el proyecto "incorrecto" como el proyecto de inicio. Por ejemplo, alguien más informó que en un sitio web MVC3 alojado en Azure tenían el proyecto Azure como el proyecto de inicio en lugar del proyecto MVC. Pasar al proyecto MVC cuando el inicio solucionó el problema.

Actualización: Esto se ha solucionado en EF5-beta2, que ahora está disponible en NuGet.

+2

gracias ... estableciendo el proyecto de inicio a mvc en lugar de azul trabajado para mí. – Emad

+0

Me sucedió cuando tuve 2 VS2012 abiertos con diferentes proyectos. Cerrar el otro lo resolvió. Gracias. –

+2

Confirmo la solución de Arthurs. Además, se debe seleccionar el proyecto correcto en la consola del Administrador de paquetes. –

0

En realidad se puede especificar con mucha facilidad el proyecto de destino en su consola de Administrador de paquetes cuando se llama a cualquier comando EF sólo por el uso de las banderas y argumentos correctos, por ejemplo, debido a un proyecto llamado ProjectFoo de una solución con varios proyectos:

  • enable-migrations -projectname projectfoo
  • add-migration "Initial" -projectname projectfoo
  • update-database -projectname projectfoo etc ...

Fácil como un pastel.

Cuestiones relacionadas