Visual Studio muestra errores incluso si se compilan proyectos

265

Tengo un problema con Visual Studio en una solución C #. Muestra errores totalmente aleatorios, pero los proyectos se construyen. En este momento, tengo 33 archivos con errores, y puedo ver líneas onduladas rojas en todos ellos.

Intenté limpiar / reconstruir la solución, cerrar Visual Studio e incluso reiniciar mi computadora. También me aseguré de seguir los pasos descritos en la ejecución de depuración incluso con los errores del compilador en Visual Studio. Puedo modificar archivos .cs y veo los cambios en la solución.

¿Alguien tiene una idea de por qué hace eso?

GammaOmega
fuente
3
¿Tiene ReSharper o algún otro complemento como este instalado? También pueden causar líneas onduladas rojas.
user1908061
3
Intente eliminar las carpetas bin y obj de cada proyecto.
Charlie Brown
Errores o advertencias? Si el proyecto se construye, significa que se trata de advertencias. Deshabilite todos los complementos y vea cómo va.
Ehsan
Tenemos el mismo problema con 2 de nuestras máquinas en VS 2013 RC candidato. Sin embargo, Resharper no está instalado. El delema aquí es que aunque se construye sin problemas, ningún intellisense funcionará porque no puede 'resolver' espacios de nombres y objetos. Muy raro. Funciona en otras 5 máquinas perfectamente.
Ryk
Los conflictos no resueltos en Team Foundation Server también pueden ser una fuente de este problema. Obtener la última versión puede informar que es exitoso y que todos los archivos están actualizados, pero eso no siempre es cierto. Si va a Team Explorer> Cambios pendientes> menú desplegable Acciones> Resolver conflictos y hace clic en "Obtener todos los conflictos", debería mostrarle si hay conflictos no resueltos que necesita solucionar.
user2310967

Respuestas:

325

Si tiene ReSharper, intente vaciar el caché ReSharper:

En el menú, ReSharper> Opciones> Medio ambiente> General> Borrar cachés

y deshabilitar y volver a habilitar ReSharper:

En el menú, Herramientas> Opciones> ReSharper> General> Suspender / Restaurar

GammaOmega
fuente
182

Limpiar el caché de Resharper no ayudó en mi caso, intenté suspender / restaurar , y también Reparar Resharper, usando la última descarga del sitio web de JetBrains, ninguno de estos ayudó. Esto es después de que intenté cerrar / reabrir VS, reiniciar mi máquina, repetir, compilar / reconstruir y la combinación de los mismos.

Es interesante que suspender Resharper parecía resolver el problema después del segundo reinicio de VS, pero fue de nuevo después de habilitar Resharper <- Intenté hacer esta secuencia 2-3 veces para asegurar el patrón.

De todos modos, todavía tenía problemas cuando encontré este artículo:

Así que eliminé el archivo .SUO oculto en el mismo nivel de carpeta con solución, y resolvió mágicamente todos los rojos.

Nota: para Visual Studio 2015, el archivo .SUO está en la carpeta oculta .vs / [nombre_de_solución] / v14 .

Neolisco
fuente
77
Los pasos de Resharper tampoco funcionaron para mí, pero esto sí. ¡Gracias!
Justin Morgan el
44
Su solución me lo arregló después de reiniciar Visual Studio. ¡Gracias! :)
Moulde
1
VS2015: incluso tuve 1 proyecto que no se compilaría pero pude ver por los errores que debería tener. No tuve que cerrar VS. Acaba de cerrar la solución, elimine .suo y vuelva a abrir la solución. Problema resuelto.
TTT
55
Todavía funciona con VS2019, ¡gracias! El archivo .suo está ubicado en .vs / [nombre_de_solución] / v16.
Michael Armes
3
VS2019, eliminé el directorio .vs, se volvió a crear en la próxima compilación: se produjo un error falso.
Loren Pechtel
92

tldr; Descargue y vuelva a cargar el proyecto problemático.

Cuando esto me sucede, (solía) intentar cerrar VS y volver a abrirlo. Eso probablemente funcionó la mitad del tiempo. Cuando no funcionaba, cerraba la solución, borraba el archivo .suo (o toda la carpeta .vs) y volvía a abrir la solución. Hasta ahora, esto siempre ha funcionado para mí (más de 10 veces en los últimos 6 meses), pero es un poco tedioso porque algunas cosas se restablecen, como el modo de construcción, el proyecto de inicio, etc.

Como generalmente es solo un proyecto el que tiene el problema, intenté descargar ese proyecto y volver a cargarlo, y funcionó. El tamaño de mi muestra es solo 1, pero es mucho más rápido que las otras dos opciones, por lo que quizás valga la pena intentarlo. Sospecho que esto funciona porque escribe en el archivo .suo y quizás corrige la parte dañada que estaba causando el problema.

Nota: esto parece funcionar para VS 2019, 2017 y 2015.

TTT
fuente
77
" Intenté descargar ese proyecto y volver a cargarlo, y funcionó " . Siento que estoy contribuyendo a un culto a la carga, pero terminé cargando y descargando (con limpiezas y construcciones aleatorias en el medio), y finalmente conseguí oro. Tan raro. Esto es con VS 2017.
ruffin
2
@ruffin - jeje. Creo que cada respuesta a esta pregunta es un "culto a la carga", pero creo que la mía es la más rápida y menos intrusiva. ;)
TTT
1
Eliminar toda la carpeta .vs lo hizo por mí en la comunidad VS 2017 con ReSharper
Pedro Martins Timóteo da Costa
3
La descarga y la recarga también funcionaron para mí en VS 2019 CE
simonlchilds
1
Eliminar la carpeta .vs funcionó para mí en VS 2019 sin ReSharper, simplemente VS. ¡¡¡GRACIAS!!!
Latorre alemán el
39

Limpié la solución, cerré VS, la volví a abrir, construí la solución, y las líneas rojas sin resolver se limpiaron y la construcción se realizó con éxito.

píxel
fuente
2
Estos pasos, seguidos exactamente, funcionaron para mí. Simplemente limpiar y construir no funcionaría para mí.
JasonCoder
2
Apáguelo y vuelva a encenderlo ... cree que ya sabría intentarlo. +1
iandisme
Esto resolvió el problema! ¿Pero qué lo causó en primer lugar?
DiligentKarma
2
No tengo idea. Creo que Visual Studio es el IDE más inestable que he usado. Sigue colgando, se bloquea a menudo y muestra errores extraños de vez en cuando. He dejado de contar los problemas para ser honesto.
píxel
Seguir estos pasos exactos no resolvió el problema para mí (en VS2015).
Tim
29

Descubrí que eso sucede con frecuencia cuando utilizo Git en Visual Studio 2017, cambiando ramas donde hay cambios de código dependientes . Aunque el proyecto se compilará correctamente, quedarán errores en la lista de errores.

Estos errores son a menudo problemas de espacio de nombres y referencias faltantes, incluso cuando existe la referencia de la biblioteca.

Resolver:

  • Cerrar Visual Studio
  • Elimine el archivo {sln-root} .vs \ SlnName \ v15.suo (oculto)
  • Reiniciar Visual Studio
Rebecca
fuente
Gracias por este consejo Resolvió un problema para nosotros con VS 2017 (sin ninguna actualización). FWIW, esto nos sucedió después de eliminar y retirar una rama que había sido modificada en el control remoto.
Mike Atkisson
1
Si bien esta solución no solucionó mi problema, creo que este problema comenzó después de cambiar las ramas con cambios no confirmados (porque necesitaba aplicarlos a otra rama)
CularBytes
Este es exactamente mi problema. Gracias mi salvador
Dinh Tran
@CularBytes Podría valer la pena guardar los cambios antes de cambiar de sucursal. git stash, switch branch, git stash pop
Rebecca
18

He probado todas las 6 opciones, nada funcionó para mí. La solución a continuación resolvió mi problema.

Cerrar VS. Elimine la carpeta oculta ".vs" junto a su archivo de solución. Reinicie VS y cargue la solución.

suresh t
fuente
Parece que hay una nueva causa para este problema, y ​​esta es la nueva solución a este problema. Conozco a otras 3 personas que también en días de ti publicando esto también de repente se encontraron con este problema.
Gerrie Pretorius
Tenía que hacer lo mismo que Moshi. No parece ser un archivo .suo cuando se ejecuta desde VS 2019. Uno habría pensado que ya habría solucionado este problema ... * grumble gruñido gruñido *
Mike Loux
Para mí también tenedor en vs2017
Nejc Galof
1
@MikeLoux Eche un vistazo a la respuesta de Neolisk y verá que señaló que el archivo .suo está ahora en la carpeta .vs, por lo que todo lo que necesita hacer es eliminar ese archivo, no toda la carpeta. ¡No es que esto sea particularmente satisfactorio tampoco!
Avrohom Yisroel
Avrohom: ese último fragmento lo resume perfectamente. No, no es muy satisfactorio en absoluto. Y sí, creo que finalmente encontré el archivo donde usted y Neolisk lo señalaron y lo he hecho las pocas veces que ha vuelto a ocurrir (no tan a menudo, afortunadamente). Entonces ... eso es algo, supongo. :-)
Mike Loux
12

Tuve un problema como este en el que Intellisense no parecía reconocer la existencia de un proyecto (muchos errores de "no puedo encontrar este tipo", "este espacio de nombres no existe", etc.).

Eliminar y volver a agregar la referencia del proyecto en todos los proyectos de referencia solucionaría el problema, pero la causa subyacente podría solucionarse editando el archivo .proj del proyecto problemático.

Cerca de la parte superior del archivo '.csproj del proyecto "perdido" hay un elemento:

<ProjectGuid>{GUID}</ProjectGuid>

y en todos los proyectos de referencia, los archivos .csproj eran referencias de proyecto:

<ProjectReference Include="..\OffendingProject\OffendingProject.csproj">
  <Project>{ANOTHER-GUID}</Project>
  <Name>Offending Project</Name>
</ProjectReference>

El GUID de referencia no coincidía con el GUID del proyecto. Reemplazar el {GUID}anterior {ANOTHER-GUID}solucionó el problema sin tener que pasar por cada proyecto de referencia.

Philip C
fuente
Esto funcionó para mí a pesar de que era un paquete nuget. Me aseguré de que la ruta se mantuviera relativa en el archivo .csproj (literalmente, nada cambió en el TFS DIFF), pero esto hizo VS2017 STFU sobre los errores inexistentes.
BrainSlugs83
1
Solo tuve que volver a agregar una sola referencia de proyecto y todas las referencias de problemas se actualizaron
robaudas
Ninguna de las otras soluciones funcionó para mí, esta hizo el truco :)
Pablo Carrasco Hernández
12

Aquí hay una colección de respuestas populares. Vota el OP de la respuesta si te ayudó:

Opción 1: limpiar, construir y actualizar ( opción @Mike Fuchs )

Como mencionó @Mike Fuchs , intente las siguientes operaciones:

En el menú, Crear> Solución limpia

Y

En el menú, Build> Build Solution

y seleccione el proyecto en cuestión, y haga clic en el botón actualizar:

Botón Actualizar

Opción 2: limpiar, cerrar, reiniciar y compilar ( opción @Pixel )

Como mencionó @Pixel , intente la siguiente secuencia de operaciones:

  1. Limpiar la solución
  2. Cerrar Visual Studio
  3. Abra Visual Studio
  4. Construir solución

Opción 3: Borrar caché ReSharper ( opción @GammaOmega )

Si tiene ReSharper, intente vaciar el caché ReSharper:

En el menú, ReSharper> Opciones> Medio ambiente> General> Borrar cachés

y deshabilitar y volver a habilitar ReSharper:

En el menú, Herramientas> Opciones> ReSharper> General> Suspender / Restaurar

Opción 4: elimine el archivo .suo ( opción @Neolisk )

Como @Neolisk mencionó, eliminar el archivo .suo podría resolver su problema. Para Visual Studio 2015, el archivo se encuentra en:

[Ruta de la solución] /. Vs / [Nombre de la solución] /v14/.suo

Y para Visual Studio 2017:

[Ruta de la solución] /. Vs / [Nombre de la solución] /v15/.suo

Tenga en cuenta que el directorio .vs está oculto.

Opción 5: descargar y volver a cargar el proyecto ( opción @TTT )

Como @TTT mencionó, intente descargar el proyecto que causa problemas:

En el Explorador de soluciones, haga clic con el botón derecho en proyecto, Descargar proyecto.

Y volviéndolo a cargar

En el Explorador de soluciones, haga clic derecho en el proyecto, Recargar proyecto.

Opción 6: eliminar y agregar la referencia de Microsoft.CSharp ( opción @Guilherme )

Como @Guilherme mencionó, intente eliminar y agregar la referencia a "Microsoft.CSharp" de los proyectos que tienen problemas.

En el Explorador de soluciones, expanda el proyecto, expanda "Referencias", haga clic con el botón derecho en "Microsoft.CSharp" y elimine.

Luego, haga clic derecho en Referencias> Agregar referencia, seleccione "Microsoft.CSharp" de la lista y haga clic en Aceptar

GammaOmega
fuente
La opción 6 lo hizo. Tuve que hacer clic en el enlace @Guilherme para votar porque es (¿ahora?) En otra pregunta.
gbarry
Nada de lo anterior funcionó para mí, ya que tenía más de 80 proyectos en solución
Efe
10

Elimine la ruta del archivo oculto = su solución \ .vs \ su nombre de solución \ v15 \ .suo

NoXSaeeD
fuente
1
Trabajó para mí también. VS 2019. Los proyectos de WPF seguían mostrando errores con respecto a los controles no existentes, pero se ejecutaron bien.
Flemming Bonde Kentved
6

para VS-2017, eliminar la carpeta .vs funcionó para mí.

Romesh D. Niriella
fuente
5

Me di cuenta de que, a veces, al cambiar las ramas de git, Visual Studio (2017) no reconoce los tipos de algunos archivos que se agregaron en la segunda rama. Eliminar la carpeta .vs lo resuelve, pero también destruye todas las configuraciones de su espacio de trabajo. Este truco parece funcionar bien para mí:

  1. Explorador de soluciones -> Encuentra el archivo con la clase no reconocida en él.
  2. Haga clic en Mostrar todos los archivos en la parte superior del Explorador de soluciones.
  3. Haga clic derecho en el archivo -> Excluir del proyecto.
  4. Haga clic derecho en el archivo nuevamente -> Incluir en proyecto.

Esto hace que Intellisense analice el archivo que se perdió al cambiar de rama.

Erik
fuente
4

La siguiente solución funcionó para mí

1 - Cerrar VS

2 - Eliminar carpeta .vs

3 - Abrir VS

4 - Construir solución

Vijay Hugar
fuente
3

Quizás intentes restablecer tu caché intellisense. Tuve un problema similar en Visual Studio 2012 cuando trabajaba en un proyecto grande con muchas definiciones de clase parciales. La reducción de los parciales resolvió el problema parcialmente, borrando también el caché intellisense - por un tiempo.

Daniel Nachtrub
fuente
3

De vez en cuando tengo que hacer una limpieza personalizada revisando todos los proyectos y eliminando manualmente las carpetas "bin" y "obj". Para verlos en Visual Studio, deberá habilitar archivos y carpetas ocultos para cada proyecto. Una vez hecho esto, reconstruya la solución.

Technobabble
fuente
3

Eliminar la .vscarpeta resolvió mi problema.

Pero también restableció la configuración actual de mi solución en VS. Como, mis proyectos descargados en la solución se volvieron a cargar y todos los documentos anclados y abiertos también se cerraron cuando reinicié el VS.

Usman Farooq
fuente
2

0 - Haga clic derecho en la solución y solución limpia

1 - Cerrar VS

2 - Eliminar el archivo .suo del proyecto

3 - Abrir VS

4 - Construir solución

nPcomp
fuente
2

Un colega mío experimentó este problema hoy. Intentamos muchas de las recomendaciones aquí y ninguna funcionó, excepto la solución que se describe a continuación.

Problema:

El proyecto funciona bien, pero Intellisense no reconoce ciertos tipos y marca usingdeclaraciones particulares como inválidas.

Solución:

Cambie la 'Plataforma de soluciones' (en VS 2017, este es el menú desplegable junto al menú desplegable Configuración de la solución y tiene valores como x86, x64, AnyCPU, Plataformas mixtas, etc.) a AnyCPU .

La plataforma para su proyecto puede variar, pero parece que algunas referencias pueden no ser válidas para todas las plataformas.

AperioOculus
fuente
1

Para mi caso específico, era una referencia de servicio que otro desarrollador fusionó en la rama principal. Lo cual estaba perfectamente bien, excepto que el resaltado de sintaxis no pudo resolver la clase de servicio generada y el origen estaba subrayado en rojo. La limpieza, la reconstrucción, el reinicio no hicieron nada.

Todo lo que tenía que hacer era actualizar la referencia del servicio y VS logró armar las piezas detrás de escena. No hay cambios en el código fuente o los archivos generados.

Fjarskiptagervitungl
fuente
1

Acabo de encontrarme con este problema después de revertir un git commit que agregó archivos nuevamente a mi proyecto.

Limpiar y reconstruir el proyecto no funcionó, incluso si cerré VS entre cada paso.

Lo que finalmente funcionó fue cambiar el nombre del archivo a otra cosa y volver a cambiarlo. : facepalm:

KidCode
fuente
1

Después de probar todas las opciones enumeradas, descubrí otra razón por la cual esto puede suceder. Si alguien le envió el código fuente como un zip, o usted descargó un zip, Windows puede haber bloqueado todos los archivos. 2 formas de resolver esto:

Método 1:

Haga clic derecho en el archivo Zip original -> Marque 'Desbloquear' -> Haga clic en Aplicar

Método 2:

Si esa no es una opción, en lugar de abrir propiedades en cada archivo en la carpeta de la solución, simplemente abra Power Shell y desbloquee recursivamente usando lo siguiente:

Get-ChildItem -Path 'C:\<ROOT FOLDER OF SOLUTION>\' -Recurse | Unblock-File
Conor Gallagher
fuente
1
  1. Primero cierre la solución.
  2. luego elimine el archivo de caché de la solución (en la ubicación C: \ Users \ Documents \ Visual Studio \ Backup Files / project cache file)
  3. luego eliminar el archivo .suo
  4. entonces la solución se abre y se construye.

Espero resolver tu problema

Mahfuz Morshed
fuente
1

Tuve este problema en el trabajo (ejecutando VS2017). Intenté todas las respuestas aquí. Sin alegría.

El proyecto se construiría bien, pero se quejaba de que no se podían encontrar espacios / tipos de nombres. Garabatos rojos por todo el lugar. Muchos errores en la ventana Lista de errores.

Mi solución contenía 3 proyectos.

Descubrió que 3 de las referencias de la biblioteca NuGet para uno de los proyectos estaban fuera de línea. Consolidado las versiones de la biblioteca referenciada, y Bingo.

Espero que esto ayude a alguien.

Brett

Brett
fuente
1

Descargar y volver a cargar el proyecto solucionó este problema.

Ankush Jain
fuente
0

A veces, si solo limpia la solución, los errores están desapareciendo, pero eventualmente pueden volver después de un tiempo o en la próxima compilación.

yo soloAndrew
fuente
0

Encontré este problema con un solo tipo no reconocido por Visual Studio que mostraba el garabato rojo a pesar de que la solución se construyó con éxito. Noté en el Explorador de soluciones que el archivo no tenía la flecha de expansión a la izquierda, que muestra las clases y propiedades en la expansión.

La solución fue Excluir el archivo del proyecto y guardar / compilar que produjo un error esperado y luego Incluir el archivo en el proyecto y guardar y compilar.

Después de realizar estos pasos, Visual Studio comenzó a reconocer mi tipo nuevamente. Al observar la diferencia en git, parece que el problema se debió a que las terminaciones de línea no coinciden en la <Compile Include="..." />línea de mi archivo .csproj.

Thorb
fuente
0

en mi caso, vs nunca retuvo los espacios de nombres importados en las propiedades del proyecto> referencias

cuando traté de agregarlos / verificarlos nuevamente, no pude y vs arrojé un error y cuando guardé el proyecto vs fallé. Cuando volví a abrir, todos los espacios de nombres importados estándar (system.data, etc.) se marcaron nuevamente y luego reconoció todo sin error

m mayordomo
fuente
0

TL; DR: realice una reinstalación limpia de Visual Studio

Después de perder varias horas, todavía no pude arreglarlo para Visual Studio 2017. Luego instalé Visual Studio 2019 PREVIEW y, de repente, IntelliSense me muestra a los miembros de las clases STL nuevamente (lo que no ocurre con Visual Studio 2017). )

Por lo tanto, supongo que también puede haber algo mal con Visual Studio (tal vez algo en el directorio de caché o en general algo en su PC que no está directamente relacionado con una solución específica) que puede resolverse mediante un reinicio limpio y completo -instalación de Visual Studio. Lo sé, esta es una "solución" estúpida, pero en mi caso, solo una nueva instalación de Visual Studio (2019) tuvo efecto.

Como ya se mencionó, en mi caso, solo las clases STL se vieron afectadas. IntelliSense no mostraría a sus miembros, lo cual es extraño. Pensé que tal vez podría tener algo que ver con los encabezados precompilados. En algún lugar leí que el STL y el proyecto deberían estar en el mismo disco y ponerlos en el mismo debería resolver el problema. Pero ninguna de estas rutas condujo al éxito.

j00hi
fuente
0

Descubrí que esto puede suceder si el proyecto al que se hace referencia apunta a una versión superior del marco que el proyecto que está tratando de usarlo. Puede saber si este es el problema yendo a la ventana de salida y buscando algo similar a esto:

La referencia principal "my_reference" no se pudo resolver porque se creó con el marco ".NETFramework, Version = v4.7.2". Esta es una versión más alta que el marco actualmente dirigido ".NETFramework, Version = v4.7".

La solución es cambiar el marco objetivo de uno u otro de los proyectos.

michaela112358
fuente
0

Mis síntomas en VS2019 fueron que construiría con algunos errores. Luego corregiría los errores, y la compilación funcionaría, como se muestra en la ventana Salida. Pero las ventanas Errores todavía mostraban los errores antiguos. Podría ejecutarlo bien. Cerrar VS2019 y volver a conectar solucionó el problema, pero solo por un tiempo. Esto comenzó a suceder en la versión 16.4.3

Esta solución parece funcionar para mí:

Desmarque Herramientas-> Opción-> Proyectos y soluciones-> General-> Permitir inicialización de proyecto paralelo

Encontré esta solución enterrada en los comentarios aquí: https://developercommunity.visualstudio.com/content/problem/483450/vs-2019-intellisense-reports-compile-errors-when-r.html

Daniel Williams
fuente
-1

Intenta pasar el mouse sobre los elementos subrayados. Normalmente debería decirle cuál es el problema. Para ver una lista de todos los errores / advertencias, vaya a Ver => Lista de errores. Se debe abrir una tabla en la parte inferior del IDE con todos los errores / advertencias enumerados.

ionutioio
fuente
Hay líneas onduladas bajo clases aleatorias, pero no obtengo ningún error en la lista de errores. Además, los proyectos se construyen perfectamente. Parece que está relacionado con Intellisense.
GammaOmega