Visual Studio se compila bien pero aún muestra líneas rojas


96

Estoy usando VS 2012 y todo estaba funcionando bien hasta que comencé a observar un comportamiento gracioso. Cuando abro mi código, muestra subrayados rojos que generalmente vemos cuando hay un error en nuestro código. Sorprendentemente, el código se compila bien. He hecho las siguientes observaciones que no son normales en absoluto.

  1. Subrayado rojo en el código
  2. Mientras limpia o construye la solución no hay error.
  3. Los subrayados rojos desaparecen durante algún tiempo después de que construyo / limpio la solución, pero vuelven eventualmente.
  4. Debido a esto, mi intellisense dejó de funcionar.
  5. No puedo hacer clic derecho en ningún componente e ir a su definición.

¿Algunas ideas?


¿Qué código muestra subrayados? ¿Puede proporcionar ejemplos?
Mt

¿Quizás está ejecutando un código antiguo? Pruebe una pequeña implementación que muestre algo, si no sucede nada, es posible que esté ejecutando un código antiguo.
Max

¿Está ejecutando Reshaper o cualquier otra herramienta que pueda estar subrayando?
AlG

¿Está esto en todos los archivos de código? Me pasó una vez cuando abrí un archivo que no era de mi solución, no poder ir a la definición me lo delató.
Pierre-Luc Pineault

Respuestas:


48

Elimine el contenido de la carpeta ASP.NET temporal y luego reconstruya. Estará en su carpeta de usuario (para IIS Express - \ AppData \ Local \ Temp \ Temporary ASP.NET Files ) o en el directorio de Windows (para IIS - C: \ Windows \ Microsoft.Net \ Framework \ vx.xx \ Archivos ASP.NET temporales )

Los caminos están fuera de mi cabeza y pueden no ser correctos


Alternativamente, si esto solo está afectando a un proyecto / solución y está usando git con las ignoraciones apropiadas en su lugar para archivos temporales, intente confirmar los cambios, eliminar su copia de trabajo y forzar la verificación de su rama.
Kyle

3
¿Qué pasa si el error está en Visual Studio para Mac? ¿cuál sería la ruta de esta carpeta?
Perdido el

1
Necesitaba cerrar y abrir VS después y funciona. Gracias
MusicAndCode

169

Visual Studio 2017:

Cerrar Visual Studio y eliminar la .vscarpeta ubicada en el directorio de la solución funcionó para mí.

Esta carpeta tiene un hiddenatributo. Es posible que deba cambiar la configuración en las opciones de carpeta para mostrar los archivos ocultos.


2
Para VS 2017, esta solución funcionó donde ninguna de las otras en esta página lo hizo (como limpiar carpetas temporales y limpiar / bin y / obj). El .vs no estaba "oculto" en mi sistema como se mencionó (mientras que, por ejemplo, mi carpeta .git estaba, por supuesto, así que pude notar la diferencia).
secretwep

1
Intenté eliminar el archivo .suo, pero se vuelve a crear cuando reinicio VS 2017
Amit Kulat

3
@AmitKulat Sí, el archivo .suo es un almacenamiento estructurado creado por Visual Studio y contiene un montón de configuraciones. Debido a algún error deja de funcionar correctamente. Por lo tanto, cuando lo elimine, se volverá a crear con la configuración predeterminada correcta.
VeganHunter

4
"No compatible ... Esta versión de Visual Studio no puede abrir los siguientes proyectos ..." - una ventana emergente bastante desgarradora después de eliminar el directorio .vs. Pero parece benigno. Haga clic en Aceptar y la solución se abrió de todos modos, después de un Informe de migración. Este puede ser un problema no relacionado que estuvo inactivo hasta que se eliminó .vs. Reportando aquí para la posteridad.
Bob Stein

3
Esto también funciona para Visual Studio 2019 (Vista previa. Eliminando la carpeta .vs)
Albert Romkes

10

Acabo de tener este problema mientras trabajaba con una solución creada en Visual Studio 2012 pero ejecutándose en 2013. Cerré Visual Studio, eliminé todos los directorios \ bin y \ obj y el problema desapareció.


9

Para mí, este problema se solucionó cuando descargué y recargué el proyecto nuevamente. Trabajé para mí, espero que también funcione para ti :)


7

Sé que esto es antiguo, pero en caso de que la gente encuentre este hilo como lo hice yo en Google. Tuve este problema después de resolver algunos conflictos de svn. La solución tiene varios proyectos y resolví algunos conflictos en algunos proyectos diferentes. Hice una compilación -> solución limpia seguida de una compilación -> solución de reconstrucción y todo volvió a estar bien.


7

Tuve este problema y estaba relacionado con ReSharper.

Pasos de la solución para mí:

1) Deshabilitar ReSharper

VisualStudio\Tools\Options\ReSharper Ultimate\General\Suspend Now

2) Construir solución

(Ctrl-Shift-B)

3) Reactivar ReSharper

VisualStudio\Tools\Options\ReSharper Ultimate\General\Resume Now

Steve


Trabajó para mi. Si. ReSharper fue el problema.
Muhammad Saqib

6

¿Tiene algún complemento instalado como resharper? Tuve problemas con un complemento incorrecto.

Intente ejecutar Visual Studio en modo seguro para evitar que se ejecuten complementos.

devenv /Safemode

10
Estaba usando Resharper. Puede desactivar ReSharper utilizando el botón Suspender en el menú Herramientas -> Opciones -> ReSharper. Entonces reanudarlo, me ayudó.
Oleg Kyrylchuk

5

Si está utilizando Resharper como yo, puede eliminar la caché de Resharper siguiendo este enlace: https://www.jetbrains.com/help/resharper/Configuring_Caches_Location.html

To specify the location for caches

1. Open the Environment | General page of ReSharper options.
2. Use the Save solution caches in to select the location for cache files:
3. User local settings folder to store them in the following directory: %LOCALAPPDATA%\JetBrains\Transient
4.System TEMP folder to store them in the following directory: %TEMP%\ReSharperCache
5. Solution folder to store them in the root folder of the current solution
6. Custom folder to choose a custom location for ReSharper cache files.
7. Click Save to apply the modifications and let ReSharper choose where to save them, or save the modifications to a specific settings layer using the Save To drop-down list. For more information, see managing and sharing resharper settings.
8. Reopen your solution for the changes to take effect.

El botón 'Limpiar caché' en el entorno | La página general de opciones de ReSharper resolvió mi problema. ¡Gracias por la pista!
nilsK

3

En vs2013 resolví este problema eliminando todas mis carpetas obj / bin en todos los proyectos. El problema probablemente se debió a las configuraciones de la solución que había eliminado, pero que no se había limpiado correctamente, ya que hacer una Build -> Clean Solution no elimina las salidas antiguas de las carpetas obj / bin.


1

Lo que me funciona es eliminar el archivo de índice de IntelliSense.

El archivo IntelliSense está en el mismo directorio que su solución.

Su nombre de archivo es SolutionName.sdf

Simplemente elimine este archivo, abra su solución nuevamente e IntelliSense comenzará a reconstruir su archivo de índice. Después de eso, el problema desaparecerá.


1

Esto funcionó para mí en Visual Studio Enterprise 2017:

  1. Vaya a Herramientas> Opciones> Editor de texto> JavaSCript / TypeScript> Linting> General

  2. anule la selección de "Habilitar ESLint"


1
Después de días de investigación, descargar / cargar proyectos y muchas eliminaciones de carpetas .vs, esta fue la causa raíz de mi problema, así que considero que esta es una respuesta válida. Que alguien, en algún lugar, te bendiga hijo mío.
Nandolcs

1

También me encontré con esto y pude devolver Visual Studio a su estado normal haciendo lo siguiente:

  1. Identifique el proyecto del que proviene el código con líneas rojas
  2. Elimine el proyecto de la línea roja de las referencias donde se está utilizando (Nombre del proyecto \ Referencias: haga clic derecho, agregue referencias, desmarque el proyecto de la línea roja)
  3. Construir (debería recibir errores ahora)
  4. Vuelva a agregar la referencia del proyecto que acaba de eliminar
  5. Construir de nuevo
  6. Las líneas rojas deben eliminarse y el proyecto debe construirse.

1

Tuve el mismo problema con muchas líneas rojas en varios archivos fuente * cpp. Aunque el código se compiló perfectamente. Ninguna de las otras soluciones funcionó para mí.

Cambiar el orden de #incluir líneas de un archivo * .cpp podría hacer que las líneas rojas desaparezcan y reaparezcan con el orden restaurado.

Luego noté que un archivo de encabezado se incluyó dos veces en un solo archivo * .cpp. Quité el segundo y todo estuvo bien.

Incluir un archivo de encabezado dos veces en el mismo archivo * .cpp parece no ser un problema para el compilador, sino para la parte intellisense.


0

Quizás sea tarde para agregar, pero espero que aún pueda ayudar a alguien. Tuve un problema similar cuando vi muchos garabatos rojos en un par de archivos. Probé todas las respuestas propuestas anteriormente, pero nada pareció funcionar. En el momento en que comencé a navegar a través de las clases, estructuras en otros archivos para los cuales los archivos de queja tenían referencias, el problema desapareció. Parecía que intellisense no podía resolver las dependencias por sí solo por alguna razón.


3
No veo una solución en tu respuesta. "Parecía IntelliSense no fue capaz de dependencias resueltas por sí mismo ..." - estás diciendo por "navegando a través de las clases, estructuras" que le ayudó a resolver intelisense las dependencias?
Sнаđошƒаӽ

4
@ Sнаđошƒаӽ Creo que eso es exactamente lo que está diciendo.
Robert Columbia

@RobertColumbia Sin ofender a OP, pero creo que eso es ridículo.
Sнаđошƒаӽ

@ Sнаđошƒаӽ bueno, eso es lo que está diciendo. Si cree que esa estrategia no es útil, rechace la respuesta.
Robert Columbia

@ Sнаđошƒаӽ Bueno, llegué a publicar porque también estaba enfrentando el mismo problema. Primero probé todas las respuestas antes de publicar lo que funcionó para mí. Como otros también han respondido en base a su experiencia. No veo nada malo en ello. En cambio, también podría ayudar a otra persona.
irsis

0

Para mí, en un momento habilité el registro de fusión para depurar algunos errores de dependencia de ensamblaje (fuslogvw desde el indicador de CMD). Eso fue hace meses y había estado experimentando tiempos de construcción mucho más lentos (5-7 minutos) desde entonces. También me había olvidado por completo que los había dejado habilitados. Estos registros eran mi cuello de botella y desactivarlos ha hecho que la iteración sea mucho más rápida. ¡Espero que esto ayude a alguien!


0

Me encontré con este problema con la última
versión de Visual Studio 2017. Además, la versión de depuración de mi programa se estaba ejecutando muy lento.

Eliminé el archivo de la solución .slny creé uno nuevo.


0

Pasos que funcionan

  1. Abra la solución y vuelva a construir todo
  2. Cerrar solución
  3. Abra la solución y haga una limpieza.
  4. Cerrar solución
  5. Abra la solución y vuelva a construir todo
  6. Cierre y luego abra la solución y debería estar bien. Esto funciona para mi cada vez

Tenga cuidado al eliminar algunos de estos archivos de configuración, ya que perderá la configuración de depuración guardada, etc., y puede causar más daño de lo que cree



0

En mi caso con VS 2017, tengo muchas "líneas rojas" que se muestran debajo de todos los símbolos definidos en una biblioteca de terceros, pero mi proyecto se puede construir sin problemas. Probé todas las soluciones sugeridas (como eliminar la carpeta .VS, reiniciar VS, etc.) pero ninguna de ellas funciona.

Finalmente, lo arreglé y así es como: abro la página de propiedades del proyecto de mi aplicación, luego voy a "C / C ++ -> General -> Directorios de inclusión adicionales", que es el lugar donde coloco todas las rutas de encabezado de biblioteca de terceros necesarias. Elimino todas las rutas (pero las guardo en algún lugar), hago clic en "Aceptar" para confirmar. Luego volví a la misma configuración, pegué esa ruta, haga clic en "Aceptar" para confirmar, luego todas esas "líneas rojas" desaparecen.


0

Encontré esta solución:

  1. Cierre Visual Studio (asegúrese de que devenv.exe no esté presente en el Administrador de tareas).
  2. Borrar el %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\xx\ComponentModelCache directorio.
  3. Reinicie Visual Studio.

0

He tenido este problema durante meses y finalmente lo he solucionado. Cerrar Visual Studio y eliminar la carpeta .vs ubicada en el directorio de la solución NO FUNCIONÓ PARA MÍ.

Había una etiqueta assemblyIdentity en web.config que hacía referencia a una biblioteca que no estaba en mi carpeta de referencias. Quité esta etiqueta, la limpié, cerré y volví a abrir, y el problema se solucionó.

  1. Verifique cada una de las etiquetas de assemblyIdentity en su web.config y compárelas con la carpeta de referencias en el explorador de soluciones
  2. Elimine todas las etiquetas de AssemblyIdentity, incluida la etiqueta de ensamblaje dependiente principal para cualquiera que no esté en la carpeta de referencias.
  3. Solución limpia
  4. Cerrar y volver a abrir la solución
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.