Come fare in modo che ReSharper rivaluti l'evidenziazione dei riferimenti dell'assieme


184

Sto creando un modello di progetto Prism e il modello funziona alla grande. Ma dopo aver creato un progetto con il modello, alcuni file sembrano così:

Riferimenti errati

Nonostante le apparenze, va tutto bene.

Se eseguo una ricostruzione tutto, vedo che la soluzione viene compilata senza errori:

ricostruita

Ma la ricostruzione tutto non elimina gli "errori" che vengono visualizzati nella finestra dell'editor. (Notare che la finestra dell'errore reale non mostra alcun errore.)

Posso pulire, ricostruire, chiudere e aprire i file e non risolverà l'evidenziazione.

Tuttavia, se chiudo la soluzione e la riapro, va tutto bene :

Funziona dopo il ricaricamento

La mia domanda:

Idealmente ci sarebbe un modo per il mio modello o il mio IWizard di dire a ReSharper di ricaricare i riferimenti per l'evidenziazione.

So di poter spegnere e riaccendere ReSharper e questo lo risolverà, ma preferirei non farlo.

Esiste un comando ReSharper che aggiorna queste cose?


Stai usando ReSharper?
John Saunders,

@JohnSaunders - sì, 5.1
Vaccano

Ho visto ReSharper fare questo, quindi potrebbe essere un bug ReSharper, non un bug VS. L'ho visto di recente con la versione 6.1.
John Saunders,

@JohnSaunders - Ho confermato che si tratta di un problema con ReSharper. Ho modificato la mia domanda per indirizzarla nuovamente verso ReSharper. Grazie per avermi indicato nella giusta direzione!
Vaccano,

Quali versioni di Prism, WPF / SL / WinPhone stai usando nel tuo progetto?
Jura Gorohovsky,

Risposte:


216

Fatta eccezione per la reinstallazione, l'unico modo per cancellare correttamente le cache è quello di eliminare i file manualmente dalla directory AppData.

Elimina la cartella della soluzione che ti dà dolore nei seguenti percorsi:

  • %LOCALAPPDATA%\JetBrains\ReSharper\v7.1\SolutionCaches\
  • %LOCALAPPDATA%\JetBrains\Transient\ReSharperPlatformVsXX\vXX\SolutionCaches\ per le versioni più recenti.

Si noti che i numeri di versione nei percorsi potrebbero essere diversi a seconda della versione di ReSharper installata.

L' XXin vXXe VsXXrappresenta un numero qualsiasi, perché ci potrebbe essere più cartelle in cui è memorizzato nella cache soluzione.


8
Questo percorso potrebbe essere diverso a seconda della configurazione della cache. (Vedi Resharper> Opzioni> Generale)
Senza nome

1
Abbastanza giusto - ma risolve definitivamente il problema che stai affrontando (e non solo tu ...)
Peter Munnings il

2
La risposta è corretta Chiudi tutte le istanze di Visual Studio, elimina% LOCALAPPDATA% \ JetBrains \ ReSharper \ [versione_installata] \ SolutionCaches.
Houman,

3
@Joel in ReSharper 9, con l'introduzione della piattaforma ReSharper, è stato spostato in %localappdata%\JetBrains\Transient\ReSharperPlatformVs12\v01\SolutionCaches(come menziona @brgerner , potresti fare clic sul pulsante Cancella cache prima di percorrere questa strada)
bdukes

7
È possibile utilizzare Resharper -> Generale -> Cancella cache per cancellare le cache indipendentemente dalla posizione della cache. Dovrai riavviare Visual Studio dopo aver svuotato la cache
Christopher Haws,

98

Prova a scaricare e quindi a ricaricare il progetto.

Per scaricare il progetto, fare clic con il tasto destro del mouse su Esplora soluzioni e selezionare Unload Project. Quindi, fai nuovamente clic con il pulsante destro del mouse sul progetto e seleziona Reload Project.

Il problema continua a verificarsi occasionalmente con le ultime versioni di ReSharper, ma la correzione sembra funzionare per ogni versione.


Sembra che il ricaricamento causi una nuova scansione del resharper. Questo mi sembra più facile della ricerca di cache in Esplora file.
testpattern,

69

Puoi provare a cancellare la cache di ReSharper tramite il menu ReSharperOpzioniAmbiente / Generale → pulsante Clear Caches.


1
Purtroppo, non ha ancora risolto il problema ... Grazie per l'idea però.
Vaccano,

23
Successivamente, è necessario riavviare Visual Studio. Quindi funzionerà.
Felix C

3
Non ha funzionato per me, anche dopo aver riavviato Visual Studio. Grazie comunque.
Matt,

Mi è successo dopo aver effettuato il downgrade di un pacchetto nuget e successivamente l'aggiornamento. Utilizzato questo suggerimento per risolvere.
Guillaume Perrot,

Funziona meglio se chiudi Visual Studio, quindi esegui msbuild yourSolution.sln / t: clean, quindi ripulisci tutte le cache del resharper, salva e riapri la soluzione.
John-Philip,

14

Questo ha funzionato per me. Non è necessario ricaricare i progetti. Puoi farlo da Visual Studio.

  1. Svuota la cache di ReSharper tramite ReSharper , Opzioni , Generale , fai clic su " Cancella cache ".

    Opzioni resharper

    Resharper Cancella cache

  2. ReSharper , Windows , selezionare " Errori soluzione ". Ciò avvierà la finestra Errori soluzione. Nella parte superiore di questa finestra, fai clic sul pulsante " Rianalizza i file con errori / avvisi ".

    ResharperWindows

    Rianalizza i file con errori


1
Ha funzionato con R # 10.0.2, senza dover riavviare VS.
Seb T.

1
Questo ha funzionato per me, anche se ho dovuto riavviare VS
Rory McCrossan il

6

Apri ReSharper - Opzioni - Ambiente - Generale , scorri verso il basso fino all'accesso Msbuild e seleziona Ottieni dati da msbuild dopo ogni compilazione .

Questo ha funzionato per me, usando ReSharper 10.0.1 con ReSharper Build.


Ho anche pulito la soluzione e ricostruita. Quindi posso tornare al precedente accesso a Msbuild quando funziona
znn

5

Vai a ReSharper → WindowsFinestra Errori soluzione e otterrai una panoramica degli errori nella tua soluzione. Lì, puoi fare clic sul pulsante Reanalyze Files With Errors.

Se lo desideri, puoi assegnare un collegamento a questo. Vai su StrumentiOpzioniTastiera e cerca "Rianalizza". Puoi assegnare una scorciatoia da tastiera a "ReSharper_ErrorsView_ReanalyzeAllFiles" o "ReSharper_ErrorsView_ReanalyzeFilesWithErrors".


1
sto affrontando un problema simile e non si risolve.
Tilak,

Anche solo stanco. Non ha risolto il problema. Il resharper ha ancora segnato errori, ma tutto è stato compilato correttamente. Scaricare e ricaricare il progetto è l'unica soluzione che riesco a trovare. (Anche se mi è stato detto che è stato risolto nell'ultima versione di resharper)
Vaccano,

Molto utile! Ho avuto lo stesso problema con VS 2019 e Resharper 2019.3, ma in realtà NON era un problema. Il fatto che il progetto venga creato non significa che Resharper non troverà errori. Nel mio caso ci sono stati alcuni errori in alcuni file di test XML nel mio progetto NUnit. Questa soluzione ha trovato rapidamente i file
shelbypereira il

3

Ho un problema simile con i pacchetti nuget e ho trovato una soluzione molto strana: selezionare il riferimento nell'elenco di riferimento del progetto e premere 'F4'. In qualche modo l'aspetto della finestra delle proprietà fa rivalutare i riferimenti disponibili ...


1
Non ho avuto fortuna con tutti i suggerimenti "clean cache". Poi ho provato questo e mi ha quasi aiutato. La mia soluzione è stata: trova il progetto con il problema - apri i riferimenti - seleziona il riferimento contrassegnato come sconosciuto da R # - Premi F4 - modifica qualcosa nelle proprietà, come "copia locale da vero a falso, quindi torna a vero"
Chrigl,

Ho avuto una soluzione simile. Ho dovuto rimuovere effettivamente il riferimento dal mio progetto e aggiungerlo nuovamente. Nessuna delle altre soluzioni ha funzionato per me.
CodeHxr,

2

Non sono sicuro che questa sia la stessa causa principale, ma ho scoperto che, tra le opzioni di ReSharper, "Usa MsBuild" è stato controllato e ho riportato tutti i tipi di errori errati. Prova a controllare "ReSharper-> Opzioni-> Generale" e vedi in che stato è presente il check "Usa MsBuild".


2

Vai su ReSharper → OpzioniGenerale e fai clicClear Caches . (Ho 8.2, quindi se hai una versione diversa potrebbe essere altrove.)

Sarà quindi necessario riaprire la soluzione e ReSharper analizzerà nuovamente tutto.


Ha funzionato per me, grazie. Avevo tonnellate di progetti nella mia soluzione e non volevo scaricarli / ricaricarli tutti uno per uno: p Non so perché hai ottenuto un downvote.
Karl Patrik Johansson,

1

Eseguire il codice seguente in un prompt dei comandi. Quindi risolvi il problema con ReSharper ...

del /q/f/s %TEMP%\*

0

L'unica cosa che mi ha aiutato è: disinstallare e installare nuovamente Resharper (la riparazione non ha funzionato)

Visual Studio 2010 SP1, ReSharper 7.1.3000.2254


0

Questo è uno strano problema, ed è ancora vivo e vegeto nella versione 8.2.3 (build 8.2.3000.5176).

Ciò che sembra funzionare per me su una base coerente è fare una ricostruzione della soluzione.

In VS 2013: Build -> Rebuild Solution


0

Se le soluzioni precedenti non funzionano, puoi provare a ripristinare il tipo di output del progetto. Questo sembra risolvere il problema sull'aggiornamento 1 VS2015 con ReSharper 10.1


0

Per me nessuna delle precedenti ha funzionato. Ho dovuto installare la nuova versione di Resharper che supporta NET Core 2.0.


0

Resharper stava segnalando un riferimento mancante da un progetto che era stato incluso nei riferimenti. Dopo aver provato le altre soluzioni qui, ho disabilitato Resharper tramite le istruzioni di questa risposta e ho scoperto che l'intellisense di Visual Studio riportava ancora gli stessi errori.

A questo punto, mi sono reso conto che probabilmente c'era qualcosa di sbagliato nel file di progetto. Sospettavo che un riferimento fosse stato leggermente corrotto durante un'unione. 1

Ho cancellato il riferimento che si lamentava non riusciva a trovare e l'ho aggiunto di nuovo. Gli errori di Visual Studio sono scomparsi. Quindi ho riabilitato Resharper e non mi sono più lamentato di errori nel mio progetto.


  1. Quando ho controllato per vedere cosa era cambiato nel file csproj, quello che ho trovato era un extra </Compile>che non aveva tag aperto corrispondente. Quindi è stato davvero un errore di unione.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.