Las compilaciones del proyecto de Visual Studio 2015 fallaron pero no hubo errores

110

Todas las compilaciones de mi proyecto fallan, pero no se muestran errores. Intenté limpiar y reconstruir, pero no funcionó.

Cambié la verbosidad de salida de MSBuild a 'Diagnóstico' con la esperanza de que me ayudara a identificar el problema y ahora estoy atascado. Así es como se ve la salida:

1>Project 'ProjectMM.Data.Models' is not up to date. Input file 'C:\Projects\ProjectMM\ProjectMM.Data.Models\ProjectMM.Data.Models.csproj' is modified after output file 'C:\Projects\ProjectMM\ProjectMM.Data.Models\bin\Debug\ProjectMM.Data.Models.pdb'.
All packages are already installed and there is nothing to restore.
1>------ Build started: Project: ProjectMM.Data.Models, Configuration: Debug Any CPU ------
2>Project 'ProjectMM.Data' is not up to date. Input file 'C:\Projects\ProjectMM\ProjectMM.Data\ProjectMM.Data.csproj' is modified after output file 'C:\Projects\ProjectMM\ProjectMM.Data\bin\Debug\ProjectMM.Data.pdb'.
2>------ Build started: Project: ProjectMM.Data, Configuration: Debug Any CPU ------
3>Project 'ProjectMM' is not up to date. Input file 'c:\projects\projectmm\projectmm\app_start\bundleconfig.cs' is modified after output file 'C:\Projects\ProjectMM\ProjectMM\bin\ProjectMM.pdb'.
3>------ Build started: Project: ProjectMM, Configuration: Debug Any CPU ------
========== Build: 0 succeeded, 3 failed, 0 up-to-date, 0 skipped ==========
Rob Greenlee
fuente
1
¿Se muestra la ventana de la lista de errores o no?
Karthik
Vaya al menú Ver -> Seleccione Lista de errores y verifique si tiene algún error. Idealmente, debería obtenerlo en la Lista de errores. Mantenga la ventana de la lista de errores abierta e intente construir el proyecto y vea qué sucede ..
Karthik
4
Entonces, esto es lo que acaba de suceder: publiqué esta pregunta y, asumiendo que no obtendría una respuesta de inmediato, cerré el proyecto. Me pidió que lo abriera de nuevo, abriera la lista de errores y reconstruyera. Funcionó perfectamente, sin errores, ¡todo tuvo éxito!
Rob Greenlee
@RobGreenlee: Vea mi respuesta, ¡apuesto a que la "pestaña Error" estaba activa cuando volvió a abrir la solución!
jpo38

Respuestas:

101

Tuve el mismo problema y cerrar y volver a abrir Visual Studio lo soluciona.

También intenté limpiar la solución y la limpieza falló también.

Puede haber otros escenarios en los que esto no funcione, pero en mi caso, el reinicio lo resolvió.

Carson Evans
fuente
22
Si no ayuda, reiniciar. A menudo encuentro este problema cuando agrego un proyecto a mi solución, con otro marco de Target que hace referencia a diferentes proyectos de marco.
Bastiaan Linders
7
En mi caso, reiniciar VS o limpiar la solución no ayudó. Sin embargo, eliminar el .suo debajo de la carpeta .vs resolvió el problema
cellik
@cellik: No funciona en mi caso. Lo que vale ... Estoy usando la edición Enterprise.
KMC
4
Tuve el mismo problema después de cambiar la hora de mi computadora de la zona horaria CEST (GMT + 1) a la zona horaria de EE. UU. (GMT-7), parece que no pudo manejar que la marca de tiempo de la última compilación fuera en el futuro. Después de reiniciar VS, todo está bien.
martinh_kentico
2
Eliminar los archivos .suo también funcionó para mí, reiniciar y limpiar no.
Johann Marx
117

Es posible que no vea todos los errores de compilación.

Al cambiar la lista desplegable después del ícono de "Mensajes" de "Compilación + Intellisense" a "Solo compilación", podrá ver los errores lanzados durante la compilación que no son detectados por Intellisense. Vea la captura de pantalla a continuación:

Construir

S. Mohamed Mahdi Ahmadian zadeh
fuente
3
¡Amigo, eres mi salvador!
KMC
19
¿Por qué no aparecerían los errores "Solo compilación" en "Compilación + Intellisense"?
CodyF
Esto ayudó a mostrar los errores en la lista de errores, pero las líneas de código con los errores no tienen subrayados en rojo. Supongo que esto debe ser un problema de Intellisense entonces.
Drew
Funciona para mi. El mío se había cambiado a Build e Intellisense, que ocultaba errores de compilación. Build Only funciona y muestra errores de compilación.
HerrimanCoder
1
Usted señor me salvó el día ... gran trabajo ... Muchas gracias
MA9H
32

He estado viendo casos regulares de VS2015 que informan "error de compilación" pero no muestran ningún error en la ventana de error. Viniendo de un antiguo fondo de línea de comandos, finalmente fui a mirar la ventana de salida. La ventana de salida mostró los errores de informe del compilador, pero esos errores no se capturaron en la ventana de error. Nunca vi este problema en VS2013.

El cierre habitual de VS y su reapertura no ha resuelto esta condición. (En VS2013, esta era una forma común de patear XAML intellisense en la parte trasera y hacer que dejara de fijarse en un "error" que se había solucionado).

Hasta ahora, esto siempre ha estado relacionado con errores de compilación en un archivo CS de página XAML. No recuerdo haberlo visto en un archivo CS que no sea de página.

Hasta que uno se da cuenta de ir a verificar la ventana de salida, cosas como informes intellisense en la ventana de error, referencias no válidas a objetos en el XAML, pero no se muestran errores del compilador en la ventana de error pueden generar MUY confusión ya que "aparece" como los errores. el intellisense informa errores XAML. Pero en realidad no lo son. Los errores XAML son solo síntomas de que los archivos CS no se compilan pero no se informan de sus errores en la ventana de error.

Keith
fuente
20
Para aquellos de ustedes que todavía luchan con una ventana de errores invisibles, parece que pueden hacer que los errores del compilador aparezcan en la ventana seleccionando Compilar solo en el menú desplegable Filtrar lista de errores a en la ventana Lista de errores (el menú desplegable no está etiquetado ... Puede averiguar cuál es pasando el mouse sobre él y observando la información sobre herramientas).
Robert Harvey
2
@RobertHarvey ... esta es la clave ... pero ¿POR QUÉ en el mundo Intellisense anularía la construcción?
felickz
@RobertHarvey eso fue exactamente. Resulta que, como alguien sugirió aquí, estaba haciendo referencia a un proyecto .net incompatible, pero no pude saber cuál era el problema hasta que cambié la salida a "Solo compilar" en el panel Error. Tan pronto como lo hice, me apuntó directamente al problema. Gracias por el consejo.
David Gunderson
Esta respuesta fue la clave para mí. Busque "error CS" (sin comillas) para posibles excepciones de compilación de bloqueo.
granadaCoder
PD. Mi error fue que había usado el mismo nombre de variable en mi método. "cadena x = cadena.Vacío;" por ejemplo. Tenía un controlador de excepciones que también tenía una declaración de "cadena x".
granadaCoder
11

Eliminar la .vscarpeta oculta me funcionó para VS2015.

(Tenga en cuenta que aquí es donde viven los archivos SUO ahora)

Mike Asdf
fuente
9

Esto puede suceder cuando hace referencia a un proyecto de versión de marco .net diferente (v4.5.2 vs v4.5 en mi caso). Corregir esto solucionará su problema.

Claudiu Constantin
fuente
Este era exactamente mi problema. Agregué un nuevo proyecto a la solución que era v4.5.2 y lo mencioné desde otro proyecto que era v4.5. Cambió el nuevo proyecto a v4.5 y funcionó bien.
Drew
7

Lo que pasó por mí fue, cambiar la zona horaria en la computadora a +5: 30 y luego volver a cambiarla a -5: 00 es lo que confundió a VS. Cuando reinicié VS, funcionó bien nuevamente.

MEGABYTE
fuente
ninguna pista. Utilizo el control de versiones, por lo que podría confundirse con los tiempos.
MB
6

Verifique todas las versiones de Framework de su proyecto y asegúrese de que sean todas iguales, o al menos que el proyecto A no hace referencia al proyecto B cuando la versión de .NET Framework del proyecto B es superior.

Daniel Minnaar
fuente
6

Tuve este problema con VS2015 Update 3 RC y Xamarin (proyecto compartido .Forms).
El compilador no se detiene, los errores solo se muestran en la ventana de salida.
Esto solo para proyectos de Xamarin (con proyectos de VB.NET todo ha funcionado como se esperaba) ...
Para tratar de encontrar el motivo del problema, he cambiado la salida de compilación en VS:
- menú "Herramientas - Opciones"
- desde el panel izquierdo : "Proyectos y soluciones: compilar y ejecutar":
- cambiar "Verbosidad de salida de MSBuild" de "Mínimo" a "Diagnóstico"

Después de hacer eso, el compilador se detuvo y se mostró el error.
Después de eso, volví a configurar la opción de "Diagnóstico" a "Mínimo" (como estaba antes) y ... también ha funcionado con "Mínimo" (para estar seguro, también he reiniciado VS) ...

Entonces ... parece (al menos en mi caso) que solo para cambiar (tocar) la configuración (MSBuild Output Verbosity ") ha resuelto el problema y que esto es un error en VS y / o el software de integración Xamarin ...

FredyWenger
fuente
1
¿Por qué esta respuesta no tiene más votos a favor? Le brinda la solución perfecta para depurar lo que está mal
John Demetriou
Comprueba mi respuesta a continuación. También pensé que su solución era correcta, pero me di cuenta de que incluso con el nivel de salida "Diagnóstico", mi "pestaña Error" permanecería vacía. Como otros, lo más probable es que mantuvo activa la "pestaña Error" y es por eso que comenzó a funcionar bien ...
jpo38
6

No sé si soy el único que se enfrenta a este problema.

En mi caso, cuando abrí Visual Studio, la zona horaria estaba en GMT + 1: 00 y la compilación se realizó correctamente. Luego cambié la zona horaria a GMT + 5: 30, y luego, sin reiniciar Visual Studio, intenté ejecutar la aplicación, pero la compilación falló sin ningún error o advertencia.

Volví a cambiar la zona horaria a GMT + 1: 00 y la compilación se realizó correctamente sin ningún error.

Rudresha Parameshappa
fuente
Muchas gracias, esto me estaba volviendo loco toda la tarde :-)
indra
2

Lo que hice (después de todo lo anterior, y todavía no funcionaba) fue revisar todas las carpetas bin y borrarlas todas (es decir, los proyectos referenciados también).

Esto funcionó para mí, espero que también lo haga para usted.

Rodney Ellis
fuente
2

Tuve este problema y resultó que tenía un usingapuntando a un espacio de nombres vacío. Eliminar esa usingcláusula solucionó el problema

Phate01
fuente
2

Verifique las advertencias.

Tenía la nueva biblioteca de clases con target .Net Framework 4.5 mientras que el proyecto de referencia era 4.0, lo que causó un problema de referencia.

Después de modificar la biblioteca de clases con target .Net Framework 4.0, funcionó correctamente.

gyansada
fuente
2

Nada de las respuestas anteriores me ayudó. Después de muchos experimentos, finalmente descubrí que el problema es una referencia de Microsoft.Net.Compilers v2.10.0 en uno de los proyectos. VS 2015 usa MSBuild v14 que no es compatible con esa versión de Microsoft.Net.Compilers.

Petar Petrov
fuente
1

Para mí, este problema estaba relacionado con una configuración de conjunto de reglas de CodeAnalysis personalizada " Incluir todo ".

Parece que el compilador observa esta configuración:

  <IncludeAll Action="Error" />

Pero IntelliSense tomó la ACCIÓN predeterminada en el Id. De la regla que era "Advertencia". Esto explicaría el comportamiento visto por @RobertHarvey donde filtra la salida por Build Only y se muestra como un ERROR , pero si filtra por Intellisene Only se muestra como ADVERTENCIA . ¡Filtrar la salida por el Build + Intellisense predeterminado parece no determinista!

Mi solución fue llamar explícitamente la regla de que quería que fuera una advertencia como advertencia.

  <Rules AnalyzerId="Microsoft.CodeAnalysis.CSharp" RuleNamespace="Microsoft.CodeAnalysis.CSharp">
    <Rule Id="CS0618" Action="Warning" />
  </Rules>

Esto es potencialmente un problema con Intellisense que no observa la opción Incluir todo . Ver https://github.com/dotnet/roslyn/issues/7400

felickz
fuente
1

Esto también puede suceder al migrar un proyecto a Visual Studio 2015 con un Framework anterior. Verifique sus advertencias en su lista de errores. Es posible que vea algo como que el proyecto es actualmente .NET versión 2.0 y requiere .NET 3.5 o superior. Si encuentra una advertencia similar, vaya a las propiedades de su proyecto y apunte al .NET Framework requerido.

Tyriddik
fuente
1

Consulte las advertencias. A veces, la compilación también falló debido a algún tipo de advertencia.

Krish
fuente
1

Cuando abro una solución, la genero, puedo ver algunos errores de compilación o advertencias reportados en la "pestaña Salida", mientras que la "pestaña Error" no reporta ningún problema.

ingrese la descripción de la imagen aquí

Puede ver que la configuración de la "pestaña Error" está bien ("Solo compilar" y "Solución completa" seleccionados).

Tenga en cuenta que, después de una investigación profunda, identifiqué que esto solo ocurre si la "pestaña Error" aún no se muestra al iniciar la compilación.

Si activó la "pestaña Error" antes de realizar la compilación (o si era la pestaña actual cuando inició Visual), los errores / advertencias recién encontrados se mostrarán correctamente:

ingrese la descripción de la imagen aquí

Es como si la "pestaña Error" se inicializara solo cuando se vuelve visible (lo que puede ser cierto, ya que se tarda más en aparecer la primera vez que hace clic en ella ...) y, si no es así, no recopila la compilación resultados ...

Hasta ahora, no hay mejor respuesta a este problema que " activar la pestaña Error antes de construir ".

Y apuesto a que es por eso que "reiniciar VS" en algún momento funciona. Verá que la "pestaña Error" está vacía, cierra y vuelve a abrir VS, luego, la "pestaña Error" se muestra de forma predeterminada cuando VS restauró la pestaña activa actual de la sesión anterior. ¡Construyes y ahora la "pestaña Error" se llena ...! Tuviste suerte.

Nota: Reportó un error de VS: https://connect.microsoft.com/VisualStudio/feedback/details/3132689

jpo38
fuente
Esta solución funcionó para mí. Me sucedió una vez, no se mostraron advertencias. Abrí la ventana Lista de errores y reconstruí la solución. Las advertencias se mostraron esta vez. No puedo volver a reproducir el mismo problema incluso después de reiniciar el VS.
IAN
1

Para mí, la compilación falló sin errores, pero después de una ligera investigación descubrí que VS no encontró la referencia a MSHTML.

ingrese la descripción de la imagen aquí

El comportamiento apareció después de una actualización de Windows 10. Para solucionarlo, debe registrar el ensamblado desde el GAC. Para saber cómo hacerlo, vaya a esta respuesta MSHTML DLL en Windows 10, ahí es donde encontré mi respuesta.

Defensor
fuente
0

Tomado de esta respuesta

La compilación falló, no se mostraron errores en la ventana de salida.

Para tratar de encontrar el motivo del problema, cambié la salida de compilación en VS: - menú "Herramientas - Opciones" - desde el panel izquierdo: "Proyectos y soluciones: compilar y ejecutar": - cambiar "Verbosidad de salida de MSBuild" de " Mínimo "a" diagnóstico "

Después de hacer eso, encontré la verdadera razón que de hecho fue un error con los proyectos de dependencia. Proyecto en el que dependía que se construyó para un marco diferente (más nuevo) que el mío. Creando así el problema. Los errores solo se descartaron cuando puse la Verbosidad de salida en Diagnóstico

John Demetriou
fuente
No se trata solo de resolver el problema, se trata de aprender a solucionar el problema. Es por eso que incluí otro proceso de depuración de respuestas, porque eso es lo que me ayudó a descubrir qué estaba mal. No solo conjeturas al azar sobre cuál podría ser el problema
John Demetriou
0

Para mí, era una propiedad adjunta deshonesta. El problema no era necesariamente que no pudiera ver un error; el error fue el siguiente:

El nodo secundario "2" salió prematuramente. Apagando. La información de diagnóstico se puede encontrar en archivos en el directorio de archivos temporales denominado MSBuild _ *. Failure.txt.

Inicialmente, la compilación se bloqueaba y no mostraba ningún error a menos que intentara cerrar Visual Studio. Después de reiniciar, se colgaría durante un largo período al construir y luego mostraría el mensaje anterior.

Eliminar la .vscarpeta oculta , reconstruir / limpiar la solución y reiniciar Visual Studio no funcionó. La eliminación de la propiedad adjunta lo hizo; ergo, podría ser un código real en algún lugar que no funciona correctamente.

Como último recurso, eliminaría los cambios recientes uno por uno hasta que se resuelva el problema, ya que ninguna de las soluciones aquí ayudó.

Actualizar

Como estoy acostumbrado a desarrollar aplicaciones WPF tradicionales, no me di cuenta de que no se pueden tener espacios de nombres XAML "encadenados" usando .s con UWP. Estaba intentando establecer una propiedad adjunta usando

My.Namespace:SomeClass.SomeProperty="SomeValue"

Considerando que, debería ser

MyNamespace:SomeClass.SomeProperty="SomeValue"

No es tan bonito como me gusta, pero aparentemente es el único camino a seguir.

James M
fuente
0

Lo que funcionó para mí:

Cerrar todos los documentos resolvió el problema para mí. (La misma solución si intelliSense deja de funcionar)

(pestaña de clic derecho - Cerrar todos los documentos)

Ziv Weissman
fuente
0

Prueba esto

Excluirme "mstscax.dll"de las dependencias funcionó para mí.

Emile Cloete
fuente
0

Problema de nicho: me encontré con el mismo problema en este momento. Ninguna de las respuestas anteriores pareció ayudar.

El problema era para un programa de consola, no se puede marcar el método Main () como asíncrono **, que es lo que estaba haciendo. No estoy seguro, por qué Visual Studio no pudo especificar por qué exactamente el proyecto no se estaba construyendo (recibí 0 errores y 0 advertencias cada vez). Estoy usando Visual Studio 2015 Enterprise.

Solución: la solución para eso está aquí .

usuario3613932
fuente
0

Después de actualizar un archivo dll, resultó que el nuevo archivo tenía como objetivo una versión superior de .NET Framework. La solución fue ir a Propiedades del proyecto y cambiar el marco de Target a la versión adecuada.

útilAbeja
fuente
0

MSBuild.exe se cambia en el directorio (C: \ Archivos de programa (x86) \ MSBuild \ 14.0 \ Bin)

así que simplemente reemplazo el MSBuild.exe de otra PC que tiene vs2015.

Ahora funciona bien.

sabarismo
fuente
0

Encontré una solución cambiando .NET Framework de 4.5.2 a 4.0.

El problema fue causado por una referencia que no era compatible con el marco seleccionado actualmente.

Stefan Đorđević
fuente
0

Acabo de borrar mis filtros y funcionó para mí. El ícono para borrar todos los filtros está cerca del cuadro de mensajes.

José nevin
fuente
0

Inicie un nuevo proyecto. Copie todo su código hasta el siguiente espacio de nombres ConsoleApp38450983450.

Pegar en el nuevo proyecto debajo del espacio de nombres ScrewedUpConsoleApp102343

Construye y corre perfecto

Brandon Norris
fuente
-1

Debe configurar el cuadro combinado en el lado derecho debajo de la lista de errores, en 'Solución completa' para ver todos los errores. ingrese la descripción de la imagen aquí

Milad Koudarzi
fuente
1
Esta pregunta bastante antigua ya tiene una respuesta aceptada, no parece que su respuesta muy corta y poco descriptiva aquí le agregue mucho. Además, no incluya enlaces a imágenes en sitios externos, ¡agregue las imágenes a su respuesta!
Dux