tutorial - Las compilaciones de proyectos de Visual Studio 2015 fallaron pero no hubo errores
visual studio code español (26)
Al abrir una solución, generarla, puedo ver algunos errores de compilación o advertencias informados en la "pestaña Salida", mientras que la "pestaña Error" no informa ningún problema.
Puede ver que la configuración de "Pestaña de error" está bien ("Solo compilación" y "Solución completa" seleccionada).
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 mostraba cuando inicia la compilación!
Si activó la "pestaña Error" antes de realizar la compilación (o si era la pestaña actual cuando lanzó Visual), los errores / advertencias recientemente encontrados se mostrarán correctamente:
Es como si la "pestaña Error" se inicializa solo cuando se hace visible (lo cual puede ser cierto, ya que lleva más tiempo mostrarla la primera vez que hace clic en él ...) y, si no fuera así, no recopila la compilación resultados ...
Hasta ahora, al no tener una mejor respuesta a este problema que " activar la pestaña Error antes de construir ".
Y apuesto a que es por eso que "reiniciar VS" a veces 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 a medida que VS restaura la pestaña activa actual de la sesión anterior. ¡Usted construye y ahora se llena la "pestaña Error" ...! Tuviste suerte.
Nota: Reportó un error VS: https://connect.microsoft.com/VisualStudio/feedback/details/3132689
Todas las compilaciones de mi proyecto fallan pero no me muestran ningún error. Intenté limpiar y reconstruir, eso 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 ==========
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í
Después de actualizar un archivo dll, resultó que el nuevo archivo estaba dirigido a 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.
Eliminar la carpeta
.vs
oculta para mi funcionó para VS2015.
(Tenga en cuenta que aquí es donde viven los archivos SUO ahora)
Esto puede suceder cuando hace referencia a un proyecto de versión de .NET Framework diferente (v4.5.2 vs v4.5 en mi caso). Corregir esto solucionará su problema.
Esto también puede suceder al migrar un proyecto a Visual Studio 2015 con un Framework más antiguo. Verifique sus Advertencias en su Lista de errores. Es posible que vea que algo como 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.
He estado viendo instancias 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 comando, 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 han eliminado 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 se ha 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 decida ir a revisar la ventana de salida, cosas como los informes intellisense en la ventana de error referencias inválidas a objetos en el XAML, pero ningún error del compilador que se muestre en la ventana de error puede obtener MUY confusión ya que "parece" que los errores son 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 pueden compilar pero no tienen sus errores informados en la ventana de error.
He tenido el mismo problema y al cerrar y volver a abrir Visual Studio lo aclara.
También intenté limpiar la solución y también falló la limpieza.
Puede haber otros escenarios en los que esto no resuelva el problema, pero en mi caso el reinicio lo resolvió por mí.
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)
Lo que hice (después de todo lo anterior, y todavía no funcionaba) fue revisar todas las carpetas bin y borrarlas (es decir, los proyectos a los que se hace referencia también).
Esto funcionó para mí, espero que también lo haga para ti.
Lo que sucedió por mí fue que 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.
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.
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 admite esa versión de Microsoft.Net.Compilers.
No sé si soy el único que enfrenta este problema. en mi caso, cuando abrí Visual Studio, la zona horaria estaba en GMT + 1: 00 y la compilación fue exitosa y 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, luego cambié la zona horaria a GMT + 1: 00 y la compilación se realizó sin ningún error.
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 llamado MSBuild _ *. Failure.txt.
Inicialmente, la compilación se colgaría y no mostraría ningún error a menos que intentara cerrar Visual Studio. Después de reiniciar, se bloqueará durante un largo período de tiempo después de la construcción y luego mostrará el mensaje anterior.
Eliminar la carpeta
.vs
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 cualquier cambio reciente uno por uno hasta que se resuelva el problema, ya que ninguna de las soluciones aquí ayudó.
Actualizar
Debido a que estoy acostumbrado a desarrollar aplicaciones WPF tradicionales, no me di cuenta de que no puedes usar espacios de nombres XAML "encadenados"
.
s con UWP.
Estaba intentando establecer una propiedad adjunta usando
My.Namespace:SomeClass.SomeProperty="SomeValue"
Mientras que, solo debería ser
MyNamespace:SomeClass.SomeProperty="SomeValue"
No es tan bonito como me gusta, pero aparentemente es el único camino a seguir.
Para mí, este problema estaba relacionado con una configuración personalizada de conjunto de reglas de CodeAnalysis " IncludeAll ".
Parece que el compilador observa esta configuración:
<IncludeAll Action="Error" />
Pero IntelliSense tomó la ACCIÓN predeterminada en el Id. De 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 WARNING . ¡El filtrado de salida por defecto Build + Intellisense parece no determinista!
Mi solución fue llamar explícitamente la regla de que quería ser 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
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.
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.
Por favor revise las advertencias. A veces, la construcción falló debido a algún tipo de advertencias también.
Prueba esto
Excluir
"mstscax.dll"
de las dependencias funcionó para mí.
Tomado de this respuesta
La compilación falló, no se mostraron errores en la ventana de salida.
Para tratar de encontrar la razón del problema, he cambiado la salida de compilación en VS: - menú "Herramientas - Opciones" - desde el panel izquierdo: "Proyectos y soluciones: compilar y ejecutar": - cambie "MSBuild Output Verbosity" 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 que dependía fue construido para un marco diferente (más nuevo) que el mío. Creando así el problema. Los errores solo se superaron cuando puse la Verbosidad de salida en Diagnóstico
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 VB.NET todo ha funcionado como se esperaba) ...
Para tratar de encontrar la razón del problema, he cambiado la salida de compilación en VS:
- menú "Herramientas - Opciones"
- desde el panel izquierdo: "Proyectos y soluciones: compilar y ejecutar":
- cambie "MSBuild Output Verbosity" de "Mínimo" a "Diagnóstico"
Después de hacer eso, el compilador se detuvo y se mostró el error.
Después de eso, configuré la opción de "Diagnóstico" a "Mínimo" (como era antes) y ... también funcionó con "Mínimo" (para estar seguro, también reinicié VS) ...
Entonces ... parece (al menos en mi caso) que solo 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 ...
Tuve este problema y resultó que tenía un
using
apuntaba a un espacio de nombres vacío.
Eliminar esa cláusula de
using
solucionó el problema
Verifique las advertencias ..
Tenía la nueva biblioteca de clases con .Net Framework 4.5 de destino, 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 .Net Framework 4.0 de destino, funcionó correctamente.
Verifique todas las versiones de Project Framework y asegúrese de que sean todas iguales, o al menos que el proyecto A no haga referencia al proyecto B cuando la versión de .NET Framework del proyecto B sea superior.
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: el trabajo para eso está here .