Tengo un desarrollador que dice "Error de compilación". al ejecutar add-migration en un proyecto .NET Core EF, sin explicación de por qué falló la compilación. ¿Cómo solucionas este error?
Esto es lo que obtiene en la consola del administrador de paquetes: 
Información adicional :
Tenemos algunos otros desarrolladores que usan el mismo código de solución (incluido yo mismo) que no tienen problemas con la migración adicional.
Esto es lo que veo en la Consola del administrador de paquetes: 
Hemos verificado que el proyecto se compila y que se compila toda la solución. Hicimos una "restauración de dotnet" y reconstruimos todo varias veces, además de reiniciar VS2015. Hemos verificado que la solución predeterminada correcta está seleccionada tanto en el Explorador de soluciones como en el menú desplegable Consola del administrador de paquetes. Hemos verificado que tiene el SDK correcto instalado en su máquina. No sé qué verificar a continuación ... cada vez que tuve una falla durante la migración adicional, obtuve suficiente información para orientarme en la dirección de qué verificar, pero solo "Error de compilación. " es una salida de error bastante inútil.
Resulta que esto también podría ser causado por BuildEvents. Para mí, estaba haciendo referencia a $ (SolutionDir) allí. Con una compilación regular, esta variable tiene valor, pero aparentemente la ejecución de los comandos dotnet * se realiza a nivel de proyecto. $(SolutionDir) aparece como Indefinido en modo detallado (-v). Esto me parece un error.
1: Recibí el error: PM> Add-Migration "InitialDB" Build falló. 2: El error era el "(" faltante. Lo corregí y el error desapareció.
por lo que el error se puede ver el error en la salida. El error se debió al problema del código.
Obtuve el mismo error cuando intenté ejecutar add-migration . Asegúrese de no tener ningún error de sintaxis en su código.
Tuve un error de sintaxis en mi código y, después de solucionarlo, pude ejecutar add-migration .
El desarrollador terminó eliminando el mapeo del proyecto de TFS, eliminándolo y volviendo a mapearlo. Ahora está funcionando para él.
Tuve exactamente el mismo error, pero estoy usando Visual Studio Community 2017 Versión 15.2 (26430.14) para compilar proyectos .Net Core.
Tengo un proyecto web ASP.NET Core MVC y un proyecto de seguridad independiente que utiliza ASP.NET Core Identity. El proyecto web contiene una cadena de conexión en el archivo de configuración aspsettings.json.
También instalé las extensiones Bundler & Minifier y Web Essentials 2017 en Visual Studio para poder compilar, minimizar y agrupar mis activos y colocarlos en wwwroot.
Descubrí que era MSBuild esas 2 extensiones descargadas en secreto lo que causaba el problema, porque tenía Enable Bundle on Build y Enable Compile on Build on. Después de desactivar eso, todo funciona bien.
Probablemente no sea la causa de su problema, pero podría valer la pena intentarlo.
Tuve exactamente el mismo problema (.NET Core 2.0.1).
A veces ayuda si se reconstruye el proyecto.
También encontré el problema cuando abrí el proyecto en 2 Visual Studios.
Cerrar un Visual Studio solucionó el error.
Tenía la misma situación. Esto ayudó:
Abra la consola del administrador de paquetes
Cambie el directorio a la carpeta Migraciones :
cd C:\YourSolution\YourProjectWithMigrationsIngrese en MP:
dotnet ef migrations add YourMigrationNameEs por otros proyectos en sus soluciones. Por ejemplo, si tiene dos proyectos en su solución como Proyecto A y Proyecto B. Si el Proyecto A no tiene éxito, la compilación y la migración de datos del Proyecto B fallarán. Por lo tanto, debe descargar el Proyecto A y agregar la migración al Proyecto B nuevamente.
Creo que esta no es una buena respuesta, pero espero que esta ayuda.
Creo que esto me sucedió cuando traté de ejecutar dotnet ef migrations add xyz mientras ya se estaba ejecutando.
Al final, solo para estar seguro, detuve la instancia que se estaba ejecutando actualmente, luego la ejecuté nuevamente para asegurarme de que se reconstruyó, la detuve nuevamente y pude ejecutar el comando dotnet ef migrations add
en mi situacion fue el error
namespace aspnetcore does not exist .. are you missing a reference?Lo he descubierto agregando el indicador -v (o --verbose) al comando dotnet ef.
Abra la ventana de salida en Visual Studio y verifique su registro de compilación. En mi caso, aunque mi configuración actual era Release , Add-Migration creó el proyecto en Debug , que tenía un error. Por alguna razón, VS no mostró el error en ninguna parte excepto en la ventana de Salida para mí.
Creo que los 2 comandos a continuación siempre funcionan (si los ejecuta en la carpeta del proyecto)
tal vez sea porque no agregaste esto en YOUR_PROJECT.csproj
<ItemGroup> <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.Dotnet" Version="2.0.2" />Lo más probable es que haya un error existente en su código. Intente reconstruir primero y corrija todos los errores.
Me pasó, estoy tratando de revertir la migración pero aún no he corregido los errores en el código.
Yo tenía el mismo error. Lo que hice, corregí el error que tengo en el código y reconstruí el proyecto. Luego ejecuté el comando ms-dos y funcionó.
Intente guardar DataContext.cs primero. Funcionó para mí.
Pruebe estos pasos:
Limpia la solución.
Cree cada proyecto por separado.
Resuelva cualquier error si lo encuentra (a veces, VS no muestra errores hasta que lo compila por separado).
A continuación, intente ejecutar la migración de nuevo.
Sugiero agregar -v para tener más información.
En mi ejemplo, tuve que agregar <LangVersion>latest</LangVersion> a mis proyectos, ya que faltaba en algunos de ellos.
Acabo de entrar en este tema. En mi caso, estaba depurando mi código y estaba haciendo que mis migraciones fallaran.
Dado que en Visual Studio Code, el depurador tiene un perfil tan bajo (solo una pequeña barra), no me di cuenta de esto hasta que leí algunas preguntas y decidí lucir mejor.
En mi caso, la aplicación se estaba ejecutando. Aparentemente, necesita ser detenido. Mensaje de error extraño de todos modos.
Asegúrese de tener generación de código dentro de startup.cs
Ejemplo
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.App" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.1.2" /> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.3" /> </ItemGroup> </Project>Tengo el mismo error. Lo arreglé deteniendo la compilación del proyecto. Después de eso funcionó bien.
Tengo el mismo error. No hubo errores durante el proceso de construcción. Cerré Visual Studio y funcionó.
En mi caso, fallaba porque fallaba un proyecto no relacionado en la solución. Descargar ese proyecto y ejecutar el comando nuevamente funcionó.
En mi caso, fue porque tuve un error en alguna parte ... Como falta de coma en el archivo de configuración de db, por lo que VS no lanzó una excepción hasta la compilación
Así que intenta ejecutar tu código...
Tuve el mismo problema al ejecutar: dotnet ef migrations add InitialCreate , así que lo que hice fue intentar compilar el proyecto usando: comando dotnet build .
Lanza un error: Startup.cs(20,27): error CS0103: bla bla por ejemplo. que puede rastrear para encontrar el error en su código.
Luego refactoricé el código y ejecuté: dotnet build nuevamente para verificar cualquier error hasta que no haya errores y la compilación sea exitosa. Luego ejecutó: dotnet ef migrations add InitialCreate y luego la compilación tuvo éxito.
Tuve problemas con este mientras usaba Visual Studio 2019 versión 16.5.0.
Lo que finalmente lo resolvió:
Rebuild Solution . Tenga en cuenta que intenté hacer una Rebuild Solution antes y eso no detectó el error. Por lo tanto, es importante cerrar VS y volver a abrirlo.
Luego mostró el error que estaba causando que el comando add-migration fallara con el mensaje Error de Build failed .
esto se debe a que se eliminan proyectos o bibliotecas de clases de la solución y se agregan proyectos después de eliminarlos con el mismo nombre. lo mejor es eliminar el archivo de la solución y agregarle proyectos. Esto funciona para mí (lo hice usando vsCode)
Los mismos errores para mí. Intenté -v pero nada. Entonces me di cuenta de que había cambiado tanto el modelo que el controlador mostraba errores.
Una vez que arreglé los errores en el controlador, funcionó.
Podría tener muchas posibilidades, supongo. En mi caso fue por versiones de paquetes desbalanceadas
tuve
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.1"/> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.3"/>Solo lo necesito para degradar el paquete de diseño central a 3.1.1 para que coincida con la versión principal superior
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.1"/> <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.1"/>Entonces funcionó bien
En mi caso, agregue el paquete Microsoft.EntityFrameworkCore.Tools problema solucionado
En mi caso tuve un par de esos errores:
The process cannot access the file 'C:\xxx\bin\Debug\netcoreapp3.1\yyy.dll' because it is being used by another process. [C:\zzz.csproj]Pude ver esos errores solo después de agregar el parámetro -v.
La solución fue apagar Visual Studio y ejecutar el comando nuevamente.
En mi caso, reconstruir el Proyecto funcionó bien. La ejecución del proyecto también funcionó bien y la ejecución de algunos puntos finales funcionó.
Pero aún en la base de datos de actualización, diría "Error de compilación" sin ninguna aclaración, incluso con -Verbose agregado al comando.
Al final, sucedió que hubo un error en el proyecto de prueba unitaria que (por alguna razón) causaría el error "Error de compilación".
Dado que tengo varios proyectos en la misma Solución , simplemente reconstruiría el Proyecto en el que estoy trabajando actualmente. Parece que cuando ocurre este error, sería mejor reconstruir toda la Solución y resolver los errores...
Solo borrar el caché de Visual Studio me ayudó
Yo tuve el mismo problema. Si ha optado por que la herramienta .NET Core recopile datos de uso para la mejora de Windows, entonces puede usar dotnet build para solucionar el problema que falta o persiste.
En mi caso, eran las dependencias de sonarqube las que faltaban. Cuando construí el proyecto en Rider, tuvo éxito pero falló cuando se activó la compilación (compilación dotnet) desde la terminal. Esto fue causado por una configuración incorrecta en Rider. La solución fue activar un escaneo de sonar en la terminal.