Cómo hacer que ReSharper reevalúe su resaltado de referencia de ensamblaje

184

Estoy creando una plantilla de proyecto Prism, y la plantilla funciona muy bien. Pero después de crear un proyecto con la plantilla, algunos de los archivos se ven así:

Malas referencias

A pesar de las apariencias, todo está bien.

Si hago un Reconstruir todo , veo que la solución se construye sin errores:

Reconstruido

Pero reconstruir todo no elimina los "errores" que se muestran en la ventana del editor. (Tenga en cuenta que la ventana de error real no muestra ningún error).

Puedo limpiar, reconstruir, cerrar y abrir archivos, y no solucionará el resaltado.

Sin embargo, si cierro la solución y la vuelvo a abrir, todo está bien :

Funciona después de recargar

Mi pregunta:

Lo ideal sería que mi plantilla o mi IWizard le dijeran a ReSharper que vuelva a cargar las referencias para el resaltado.

Sé que puedo apagar ReSharper y volver a encenderlo y eso lo solucionará, pero prefiero no hacerlo.

¿Hay un comando ReSharper que simplemente actualiza estas cosas?

Vaccano
fuente
¿Estás usando ReSharper?
John Saunders
@ JohnSaunders - sí, 5.1
Vaccano
He visto a ReSharper hacer esto, por lo que puede ser un error ReSharper, no un error VS. Hace poco vi esto con la versión 6.1.
John Saunders
@ JohnSaunders - Confirmé que este es un problema de ReSharper. Edité mi pregunta para reorientarla hacia ReSharper. ¡Gracias por señalarme en la dirección correcta!
Vaccano
¿Qué versiones de Prism, WPF / SL / WinPhone estás usando en tu proyecto?
Jura Gorohovsky

Respuestas:

216

Excepto por la reinstalación, la única forma de borrar con éxito los cachés es eliminar los archivos manualmente de su directorio AppData.

Elimine la carpeta de la solución que le causa dolor en las siguientes ubicaciones:

  • %LOCALAPPDATA%\JetBrains\ReSharper\v7.1\SolutionCaches\
  • %LOCALAPPDATA%\JetBrains\Transient\ReSharperPlatformVsXX\vXX\SolutionCaches\ para versiones más nuevas

Tenga en cuenta que los números de versión en las rutas pueden ser diferentes dependiendo de la versión de ReSharper que esté instalada.

El XXenvXX y VsXXrepresenta cualquier número, porque puede haber varias carpetas donde se almacena la caché de solución.

iggymoran
fuente
8
Esta ruta puede ser diferente dependiendo de la configuración de su caché. (Ver Resharper> Opciones> General)
Sin nombre One
1
Bastante justo, pero definitivamente soluciona el problema que enfrenta (y no solo usted ...)
Peter Munnings
2
La respuesta es correcta Cierre todas las instancias de Visual Studio, elimine% LOCALAPPDATA% \ JetBrains \ ReSharper \ [ versión_instalada ] \ SolutionCaches.
Houman,
3
@Joel en ReSharper 9, con la introducción de la plataforma ReSharper, se ha movido a %localappdata%\JetBrains\Transient\ReSharperPlatformVs12\v01\SolutionCaches(como menciona @brgerner , es posible que desee hacer clic en el botón Borrar cachés antes de seguir esta ruta)
bdukes
77
Puede usar Resharper -> General -> Borrar cachés para borrar los cachés independientemente de su ubicación de caché. Tendrá que reiniciar Visual Studio después de borrar su caché
Christopher Haws
98

Intente descargar y luego volver a cargar el proyecto.

Para descargar el proyecto, haga clic con el botón derecho en el proyecto en el explorador de soluciones y seleccione Unload Project. Luego, haga clic derecho en el proyecto nuevamente y seleccioneReload Project .

El problema continúa ocurriendo ocasionalmente con las últimas versiones de ReSharper, pero la solución parece funcionar para todas las versiones.

zastrowm
fuente
Parece que la recarga hace que resharper vuelva a escanear. Esto me parece más fácil que buscar cachés en el explorador de archivos.
testpattern
69

Puede intentar borrar el caché ReSharper a través del menú ReSharperOpcionesMedio ambiente / General → botón Clear Caches.

brgerner
fuente
1
Por desgracia, todavía no lo solucionó ... Sin embargo, gracias por la idea.
Vaccano
23
Después de eso, debe reiniciar Visual Studio. Entonces funcionará.
Felix C
3
No funcionó para mí, incluso después de reiniciar Visual Studio. Gracias sin embargo.
Matt
Me sucedió después de degradar un paquete nuget y luego actualizarlo nuevamente. Usé esta pista para arreglarlo.
Guillaume Perrot
Funciona mejor si cierra Visual Studio y luego msbuild yourSolution.sln / t: limpie y luego limpie todos los cachés de resharper, guarde y vuelva a abrir su solución.
John-Philip
14

Esto funcionó para mí. No hay necesidad de recargar proyectos. Puede hacer esto desde Visual Studio.

  1. Borre el caché ReSharper a través de ReSharper , Opciones , General , haga clic en ' Borrar cachés '.

    Opciones de reagrupador

    Resharper Borrar Caches

  2. ReSharper , Windows , seleccione ' Errores de solución '. Esto abrirá la ventana Errores de solución. En la parte superior de esta ventana, haga clic en el botón ' Volver a analizar archivos con errores / advertencias '.

    ResharperWindows

    Reanalizar archivos con errores

Donal
fuente
1
Trabajó con R # 10.0.2, sin tener que reiniciar VS.
Seb T.
1
Esto funcionó para mí, a pesar de que tenía que reiniciar VS
Rory McCrossan
6

Abra ReSharper - Opciones - Entorno - General , desplácese hacia abajo para acceder a Msbuild y seleccione Obtener datos de msbuild después de cada compilación .

Esto funcionó para mí, usando ReSharper 10.0.1 con ReSharper Build.

Winetradr
fuente
También limpié la solución y la reconstruí. Luego puedo volver al acceso anterior de Msbuild cuando funciona
znn
5

Ir a ReSharper → WindowsVentana Errores de solución y obtendrá una descripción general de los errores en su solución. Allí, puedes hacer clic en el botón Reanalyze Files With Errors.

Si lo desea, puede asignar un acceso directo a esto. Vaya a HerramientasOpcionesTeclado , y busque "Reanalizar". Puede asignar un método abreviado de teclado a 'ReSharper_ErrorsView_ReanalyzeAllFiles' o 'ReSharper_ErrorsView_ReanalyzeFilesWithErrors'.

Peter
fuente
1
Me enfrento a un problema similar, y no se soluciona.
Tilak
También me cansé de esto también. No solucionó el problema. Resharper todavía marcó errores, pero todo se compiló bien. Descargar y volver a cargar el proyecto es la única solución que puedo encontrar. (Aunque me dijeron que está arreglado en la última versión de resharper)
Vaccano
¡Muy útil! Tuve el mismo problema con VS 2019 y Resharper 2019.3, pero de hecho NO fue un problema. El hecho de que el proyecto se construya no necesariamente significa que Resharper no encontrará errores. En mi caso, hubo algunos errores en algunos archivos de prueba xml en mi proyecto NUnit. Esta solución encontró rápidamente los archivos
shelbypereira
3

Tengo un problema similar con los paquetes nuget y encontré una solución más extraña: seleccione la referencia en la lista de referencias del proyecto y presione 'F4'. De alguna manera, la apariencia de la ventana de propiedades hace que el compartidor reevalúe las referencias disponibles ...

irónico
fuente
1
No tuve suerte con todos los consejos de "caché limpio". Luego probé esto y casi me ayudó. Mi solución alternativa fue: encontrar el proyecto con el problema, abrir las referencias, seleccionar la referencia que R # marcó como desconocida, presionar F4, cambiar algo en las propiedades, como "copiar local de verdadero a falso y luego volver a verdadero"
Chrigl
Tuve una solución similar. Tuve que eliminar la referencia de mi proyecto y volver a agregarla. Ninguna de las otras soluciones funcionó para mí.
CodeHxr
2

No estoy seguro de que esta sea la misma causa raíz, pero descubrí que, dentro de las opciones de ReSharper, se verificó "Usar MsBuild" y recibí todo tipo de errores erróneos. Intente marcar "ReSharper-> Opciones-> General" y vea en qué estado se encuentra la verificación "Usar MsBuild".

Marstov
fuente
2

Vaya a ReSharper → OpcionesGeneral y haga clic Clear Caches. (Tengo 8.2, así que si estás en una versión diferente, puede estar en otro lugar).

Luego deberá volver a abrir su solución y ReSharper volverá a analizar todo.

Jurado
fuente
Trabajó para mí, gracias. Tenía toneladas de proyectos en mi solución y no quería descargarlos / recargarlos uno por uno: p Sin embargo, no estoy seguro de por qué recibió un voto negativo.
Karl Patrik Johansson el
1

Ejecute el siguiente código en un símbolo del sistema. Luego resuelva el problema de ReSharper ...

del /q/f/s %TEMP%\*
Muhammed Eassa PN
fuente
0

Lo único que me ayudó fue: Desinstalar y luego Instalar Resharper nuevamente (La reparación no funcionó)

Visual Studio 2010 SP1, ReSharper 7.1.3000.2254

Lu55
fuente
0

Este es un problema extraño, y todavía está vivo y bien en la versión 8.2.3 (compilación 8.2.3000.5176).

Lo que parece funcionar para mí de manera consistente es hacer una reconstrucción de la solución.

En VS 2013: Build -> Reconstruir solución

Andacious
fuente
0

Si las soluciones anteriores no funcionan, puede intentar restablecer el tipo de salida del proyecto. Esto parece solucionar el problema en VS2015 Actualización 1 con ReSharper 10.1

Svenkle
fuente
0

Para mí nada de lo anterior funcionó. Tuve que instalar la nueva versión de Resharper que admite NET Core 2.0.

Tommy Ivarsson
fuente
0

Resharper estaba informando una referencia faltante de un proyecto que se incluyó en las referencias. Después de probar las otras soluciones aquí, deshabilité Resharper a través de las instrucciones de esta respuesta , y descubrí que el intellisense de Visual Studio todavía informaba los mismos errores.

En este punto, me di cuenta de que probablemente había algo mal con el archivo del proyecto. Sospeché que una referencia se había corrompido sutilmente durante una fusión. 1

Eliminé la referencia porque se quejaba de que no podía encontrarla y la volví a agregar. Los errores de Visual Studio desaparecieron. Luego volví a habilitar Resharper, y ya no me quejaba de errores en mi proyecto.


  1. Cuando revisé para ver qué había cambiado en el archivo csproj, lo que encontré fue un extra </Compile>que no tenía una etiqueta abierta correspondiente. Por lo tanto, fue un error de fusión.
Charlie Kilian
fuente