Cómo encontrar la razón de la compilación fallida sin ningún error o advertencia

2012-11-06 c# asp.net visual-studio-2010

Tengo una aplicación web que contiene referencias a servicios WCF.

Al compilar con Visual Studio 2010, la compilación falla sin ningún error o advertencia. Sin embargo, construir el .csproj usando MsBuild es exitoso.

No puedo entender qué debo probar en Visual Studio para resolver / diagnosticar el problema. ¿Puedes por favor ayudarme?

EDITAR:

Descubro que la construcción ha fallado,

  1. Del texto que se muestra en la barra de estado.
    ingrese la descripción de la imagen aquí

  2. Desde la ventana de salida:

    ========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========
    

Answers

  • Si la solución contiene más de un proyecto, intente construirlos uno a la vez.
  • Intente reiniciar Visual Studio.
  • Intente reiniciar la computadora.
  • Intenta " Reconstruir todo "
  • Pruebe " Solución limpia ", luego elimine los archivos " vspscc " y " vssscc " y luego reinicie Visual Studio y luego " Reconstruir todo ".

Esto me sucedió después de agregar una nueva página a un proyecto asp.net.

Lo que hice fue excluir la página, hacer que se vuelva a compilar con éxito.

Luego agregué la página con todo el código comentado. Éxito.

Luego descomenté el código poco a poco y luego todo funcionó.

El reinicio de VS (2013 Pro, Win 8.1) lo hizo por mí.

Acabo de encontrarme con una situación similar. En mi caso, una acción personalizada (del paquete MSBuildVersioning disponible en Nuget.org - http://www.nuget.org/packages/MSBuildVersioning/ ) que apareció en el destino BeforeBuild del archivo csproj estaba fallando sin activar ningún mensaje de error en el lugar normal

Pude determinar esto estableciendo la "verbosidad de salida de compilación del proyecto MSBuild" (en la última pestaña Herramientas de Visual Studio [Ruta: Herramientas> Opciones> Compilar y ejecutar ]) en " Diagnóstico " como se muestra a continuación. Esto mostró que la acción personalizada (en mi caso HgVersionFile) fue la que falló.

Captura de pantalla de Visual Studio que muestra la configuración modificada.

Primero "Limpie la solución", luego Reconstruya la solución.

Si no funciona, cierre la Solución y reinicie la solución.

Pruebe estas cosas, la esperanza definitivamente funciona.

Quiero ampliar la respuesta de Sasse .

Para solucionar el problema con Visual Studio 2015 Update 2, tuve que compilar cada proyecto uno a la vez y mirar la ventana de salida después de cada compilación.

Un proyecto me dio

"El tipo o nombre de espacio de nombres 'SomeNamespace' no existe en el espacio de nombres 'BeforeSomeNamespace' (¿falta una referencia de ensamblado?)".

No hubo ningún error en la ventana Lista de errores, pero el ensamblaje tenía una señal de advertencia amarilla en "Referencias".

Luego vi que el proyecto de referencia apuntaba a 4.5.1 y el proyecto de referencia 4.6.1. Cambiar 4.6.1 a 4.5.1 permitió que la construcción general tuviera éxito.

Tuve un problema similar después de agregar un nuevo proyecto (llamado "TestCleaner") a mi solución: Falló la compilación, no hubo errores.

Aumenté la verbosidad de la salida (consulte las instrucciones de Richard J Foster) y busqué en la salida "fallido". Rápidamente descubrí qué proyecto estaba fallando y por qué: el proyecto "TestRunner" había fallado con el " error CS0246: no se pudo encontrar el tipo o nombre de espacio de nombres 'TestCleaner' (aunque no se resaltaron problemas en el código).

Verificando las referencias de TestRunner, efectivamente, la referencia a TestCleaner se marcó como no resuelta y faltaba la ruta en las propiedades de referencia. Eliminar y volver a agregar no lo solucionó. De nuevo, no hay explicación de por qué.

referencia sin resolver

Finalmente descubrí la causa: "TestCleaner" estaba usando un marco de destino diferente al de los otros proyectos. Fue .Net 4.5.2; los otros fueron 4.5.

Nada funcionaba para mí, así que eliminé el archivo .suo, reinicié VS, limpié el proyectado y luego la compilación funcionaría.

Parece que hay varias respuestas a esta pregunta, así que agregaré la mía por experiencia personal con la esperanza de que ahorre tiempo / estrés a alguien.

Asegúrese de que todos los proyectos en su solución estén dirigidos a la misma versión .NET.

Similar a OP, hubo 0 errores pero la compilación siguió fallando. Sin embargo, había una entrada de advertencia (enterrada entre varios cientos de advertencias XML inútiles ...) que decía que un proyecto apuntaba a una versión .NET diferente a un proyecto que hacía referencia a ella. Todo el problema era que un proyecto dentro de mi solución apuntaba a .NET 4.5.2, mientras que el resto apuntaba a 4.5.1. Debería funcionar incluso con esta discrepancia (de ahí que sea solo una advertencia) pero desafortunadamente, rompió la compilación.

Lo extraño fue que se compiló / funcionó bien por un tiempo, pero de repente la compilación comenzó a fallar una vez, causando este problema. No estoy seguro de lo que hice para que empiece a quejarse de las diferentes versiones de destino de .NET, pero creo que solo hay algunos misterios en Visual Studio que nunca se resolverán.

Otra posibilidad es que Visual Studio deba ejecutarse como Administrador, esto podría estar relacionado con la implementación en el servidor IIS local u otra necesidad de implementación.

Esto puede suceder cuando uno de los proyectos a los que se hace referencia es una versión superior de .NET Framework que su proyecto actual.

Tuve el mismo problema después de eliminar un par de formularios. Los errores aparecieron una vez que ingresé al código e hice una "Mostrar definición" para uno de los controles que eliminé.

También estaba apuntando a un marco superior en uno de mis proyectos, por lo que también podría haber sido el problema.

Solo por completar y tal vez ayudar a alguien a encontrar el mismo error nuevamente en el futuro, estaba usando la interfaz de metro Mahapps y cambié el XAML de una ventana, pero olvidé cambiar la clase parcial en el código subyacente. En ese caso, la compilación falló sin un error o advertencia, y pude descubrirlo aumentando la verbosidad de la salida de la configuración:

Panel de error

panel de salida

Yo tuve el mismo problema. La ventana de la lista de errores tiene 2 menús desplegables "Mostrar elementos contenidos por" y "Mostrar problemas generados". Estos nombres son visibles después de pasar el mouse sobre el menú desplegable. El menú desplegable "Mostrar problemas generados" se configuró en "Build + IntelliSense" y después de cambiar a "Build Only" los errores aparecieron en la lista.

¡Me enfrenté al mismo problema! Simplemente elimine la carpeta bin y reinicie su VS Eso es todo. probado en VS 2013 .

Lo que me resolvió fue eliminar la carpeta .vs de la raíz de la solución y reiniciar Visual Studio.

También es importante decir que aunque los errores no se mostraban en el panel Lista de errores, todavía estaban presentes en la Salida de la compilación.

Intenté todo pero nada funcionó en mi caso, luego cambié estas configuraciones mencionadas que resolvieron el problema bastante bien para mí. Pruebe si podría ayudar a los últimos espectadores. Estas configuraciones pueden variar en su situación, pero asegúrese de crear todas las DLL incluidas con la misma configuración que mantuvo inicialmente (mencionado en la imagen). Ajustes de configuración

Imagen aqui.

¡Salud!

Build + Intellisense se tragó los mensajes de error. Al seleccionar Construir solo se muestran.

Captura de pantalla

Si el paquete nuget 'Microsoft.Net.Compilers' está instalado, asegúrese de que sea compatible con la versión de Visual Studio (versión de Build Tools).

Las versiones 1.x significan C # 6.0 (Visual Studio 2015 y actualizaciones). Por ejemplo, 1.3.2

Por lo tanto, no actualice a la versión anterior a 1.x si usa VS2015

https://stackoverflow.com/a/44397905/3862615

Tenía un proyecto realmente antiguo en una máquina más antigua. El proyecto se estaba construyendo correctamente cuando apagué la máquina. Hoy recibo un error de compilación pero ningún mensaje de error. Después de probar algunas de las sugerencias de arriba, no hubo suerte.

En Visual Studio 2015, encendí MSBuild detallado en HERRAMIENTAS> Opciones> Proyectos y soluciones> Compilar y ejecutar

Me dio pocos detalles sobre la compilación pero no errores. Después de eso intenté verificar Extensiones y actualizaciones (Herramientas> Extensión y Actualizaciones) y encontré que algunas de ellas necesitaban actualización.

Nuget Package fue el culpable, después de actualizar Nuget: la compilación es exitosa.

ingrese la descripción de la imagen aquí

Eliminar la carpeta .vs y reiniciar VS, funcionó para mí

ingrese la descripción de la imagen aquí

Es posible que se deba a la versión del reporter de diferencia en su proyecto y VS

Como todo no funcionó, descubrió que los errores no se muestran al abrir el proyecto como solución (.sln), mientras que el error se muestra al abrir el proyecto como un proyecto.

Tuve este mismo problema y lo rastreé hasta las opciones de la Lista de errores "Build + Intellisense".

Si se selecciona esta opción, no se muestran errores en la lista. Cambie a " Build Only " y los errores aparecerán como se esperaba.

Parece un error en Visual Studio. Reiniciar el estudio visual resolvió este problema .

Tuve el mismo problema, cambié Herramientas -> Opciones -> Proyectos y soluciones / Compilar y ejecutar -> Verbosidad del archivo de registro de compilación del proyecto MSBuild [ Diagnóstico ]. ¡Esta opción muestra error en el registro, debido a algunas razones, mi VS no muestra Error en la pestaña Errores!

ingrese la descripción de la imagen aquí

Realice los ajustes anteriores y en la copia de salida en el bloc de notas / editor de texto y busque el error. Te mostrará todos los errores.

Vaya a la ventana de salida, busque 'error' en la ventana de salida, TADA

Reiniciar Visual Studio funcionó para mí. También intente reiniciar Visual Studio normalmente (no se ejecuta como administrador). Intente reiniciar el sistema y repita el paso anterior.

Intente construir su proyecto desde la línea de comandos de Powershell:

dotnet build

Luego puede ver cualquier error en la salida de la línea de comandos, incluso si Visual Studio está jugando a las escondidas con mensajes de error de compilación.

Una forma diferente de reproducir este síntoma:

Agregué un nuevo proyecto a una solución existente y la salida de compilación informó errores como "no se pudo encontrar el tipo o el nombre de espacio de nombres X ...", pero no se presentaron errores en la lista de errores.

Las clases a las que me referí estaban en otros proyectos (a los que se hizo referencia) en la misma solución.

Resultó que por error había seleccionado una versión anterior de .net en el nuevo proyecto. Una vez que cambié a la misma versión que los otros proyectos, todo se construyó sin errores.

En mi caso, configuré el Diagnostic para la verbosidad de MSBuild como se muestra aquí .

Adivina qué ... en la última línea de la ventana Output en Visual Studio mostró esto:

2>"C:\Company\Project\project.sharded\Project\Project.csproj" (Rebuild;BuiltProjectOutputGroup;BuiltProjectOutputGroupDependencies;DebugSymbolsProjectOutputGroup;DebugSymbolsProjectOutputGroupDependencies;DocumentationProjectOutputGroup;DocumentationProjectOutputGroupDependencies;SatelliteDllsProjectOutputGroup;SatelliteDllsProjectOutputGroupDependencies;SGenFilesOutputGroup;SGenFilesOutputGroupDependencies target) (1) ->
2>(CoreCompile target) -> 
2>  C:\Company\Project\project.sharded\Project\Services\UserService.cs(387,59,387,62): error CS0136: A local or parameter named 'sut' cannot be declared in this scope because that name is used in an enclosing local scope to define a local or parameter
2>
2>    2147 Warning(s)
2>    1 Error(s)

Esto parece un error en Visual Studio 2019 (16.3.5).

No se mostraron errores en la ventana Error List en Visual Studio.

Este es el tipo de errores que generalmente aparecen en la ventana Error List .

Esta es la línea ofensiva:

var sut = _sdb.SysUsableThreads.SingleOrDefault(sut => sut.uid == thread.uid && sut.thread_core == thread.core);

OKAY. No puedo usar sut porque la var se llama sut y yo llamé sut lambda. Nuevamente, este es el tipo de cosas que deberían mostrarse en la Error List . Seguro que es un error en Visual Studio 2019. Lo informé dentro de Visual Studio.

Para mí, el Target Framework era el problema.

El Target Framework mi proyecto fue 4.5.2 y el Target Framework del proyecto al que se hizo referencia fue 4.6.1 .

Una vez que actualicé Target Framework mi proyecto a 4.6.1 , el problema se solucionó.

Con Visual Studio 2019, tuve que 'Ejecutar como administrador' y finalmente funcionó bien. Abra la aplicación como administrador (haga clic con el botón derecho del mouse y ejecute como Administrador).

Por mi parte, tuve este problema cuando agregué un nuevo proyecto (Biblioteca)

Como lo solucione

Haga clic con el botón derecho en la nueva Biblioteca agregada, vaya a Propiedades y luego a Aplicación, en Aplicación, cambie el Marco de destino al marco de todos los proyectos.

El problema es que tiene un proyecto que utiliza diferentes marcos de destino.

Related