Visual Studio si compila bene ma mostra ancora linee rosse


96

Sto usando VS 2012 e funzionava bene finché non ho iniziato a osservare un comportamento divertente. Quando apro il mio codice mostra le sottolineature rosse che di solito vediamo quando c'è un errore nel nostro codice. Sorprendentemente, il codice compila tutto bene. Ho fatto le seguenti osservazioni che non sono affatto normali.

  1. Sottolineati rossi nel codice
  2. Durante la pulizia o la costruzione della soluzione nessun errore.
  3. Le sottolineature rosse scompaiono per un po 'di tempo dopo aver creato / pulito la soluzione, ma alla fine ritornano.
  4. Per questo motivo il mio intellisense ha smesso di funzionare.
  5. Non riesco a fare clic con il pulsante destro del mouse su alcun componente e andare alla sua definizione.

Qualche idea?


Quale codice mostra le sottolineature? Potete fornire esempi?
matth

Stai forse usando un vecchio codice? Prova una piccola implementazione che mostri qualcosa, se non succede nulla potresti eseguire un vecchio codice.
Max

Stai utilizzando Reshaper o qualsiasi altro strumento che potrebbe eseguire le sottolineature?
AlG

È presente su tutti i file di codice? Mi è successo una volta quando ho aperto un file che non era dalla mia soluzione, non potendo andare alla definizione me lo ha dato via.
Pierre-Luc Pineault

Risposte:


48

Eliminare il contenuto della cartella ASP.NET temporanea e quindi ricostruire. Si troverà nella cartella utente (per IIS Express - \ AppData \ Local \ Temp \ Temporary ASP.NET Files ) o nella directory di Windows (per IIS - C: \ Windows \ Microsoft.Net \ Framework \ vx.xx \ File temporanei ASP.NET )

I percorsi sono fuori dalla mia testa e potrebbero non essere corretti


In alternativa, se questo sta interessando solo un progetto / soluzione e stai usando git con gli ignori appropriati per i file temporanei, prova a eseguire il commit delle modifiche, eliminare la tua copia di lavoro e forzare il checkout del tuo ramo.
Kyle,

3
cosa succede se l'errore è in Visual Studio per Mac? quale sarebbe il percorso per questa cartella?
Lost

1
Avevo bisogno di chiudere e aprire VS dopo e funziona. Grazie
MusicAndCode

169

Visual Studio 2017:

La chiusura di Visual Studio e la rimozione della .vscartella situata nella directory della soluzione hanno funzionato per me.

Questa cartella ha un hiddenattributo. Potrebbe essere necessario modificare le impostazioni nelle opzioni della cartella per mostrare i file nascosti.


2
Per VS 2017, questa soluzione ha funzionato dove nessuno degli altri in questa pagina ha funzionato (come la pulizia delle cartelle temporanee e la pulizia / bin e / obj). Il .vs non era "nascosto" sul mio sistema come accennato (mentre ad esempio la mia cartella .git era ovviamente, quindi potevo dire la differenza).
secretwep

1
Ho provato a eliminare il file .suo ma viene ricreato di nuovo quando riavvio VS 2017
Amit Kulat

3
@AmitKulat Sì, il file .suo è un archivio strutturato creato da Visual Studio e contiene una serie di impostazioni. A causa di qualche bug smette di funzionare correttamente. Quindi, quando lo rimuovi, verrà ricreato con le impostazioni predefinite corrette.
VeganHunter

4
"Non supportato ... Questa versione di Visual Studio non è in grado di aprire i seguenti progetti ..." - un popup piuttosto emozionante dopo l'eliminazione della directory .vs. Ma sembra benigno. Fare clic su OK e la soluzione si è aperta comunque, dopo un rapporto di migrazione. Potrebbe trattarsi di un problema non correlato che era inattivo fino all'eliminazione di .vs. Segnalazione qui per i posteri.
Bob Stein

3
Funziona anche per Visual Studio 2019 (Anteprima. Eliminazione della cartella .vs)
Albert Romkes

10

Ho appena avuto questo problema mentre lavoravo con una soluzione creata in Visual Studio 2012 ma in esecuzione nel 2013. Ho chiuso Visual Studio, eliminato tutte le directory \ bin e \ obj e il problema era scomparso.


9

Per me questo problema è stato risolto quando ho scaricato e ricaricato di nuovo il progetto. Ho lavorato per me, spero che funzioni anche per te :)


7

So che è vecchio ma nel caso le persone trovino questo thread come ho fatto io da Google. Ho avuto questo problema dopo aver risolto alcuni conflitti da svn. La soluzione contiene diversi progetti e ho risolto alcuni conflitti in alcuni progetti diversi. Ho eseguito Build -> Clean Solution seguita da Build -> Rebuild Solution e tutto è andato di nuovo bene.


7

Ho avuto questo problema ed era correlato a ReSharper.

Passaggi della soluzione per me:

1) Disabilita ReSharper

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

2) Crea soluzione

(Ctrl-Shift-B)

3) Riabilita ReSharper

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

Steve


Ha funzionato per me. Sì. ReSharper era il problema.
Muhammad Saqib

6

Hai qualche plugin installato come resharper? Ho avuto problemi con un plugin difettoso.

Prova a eseguire Visual Studio in modalità provvisoria, per impedire l'esecuzione dei plug-in.

devenv /Safemode

10
Stavo usando Resharper. È possibile disabilitare ReSharper utilizzando il pulsante Sospendi nel menu Strumenti -> Opzioni -> ReSharper. Quindi riprendilo, mi ha aiutato.
Oleg Kyrylchuk

5

Se stai usando Resharper come me, puoi eliminare la cache resharper seguendo questo link: 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.

Il pulsante "Svuota cache" in Ambiente | La pagina generale delle opzioni di ReSharper ha risolto il mio problema. Grazie per il suggerimento però!
nilsK

3

In vs2013 ho risolto questo problema eliminando tutte le mie cartelle obj / bin in tutti i progetti. Il problema era probabilmente dovuto alle configurazioni della soluzione che avevo eliminato, ma non erano state ripulite correttamente, poiché eseguire una build -> Clean Solution non rimuove i vecchi output dalle cartelle obj / bin.


1

Ciò che funziona per me è eliminare il file di indice di IntelliSense.

Il file IntelliSense si trova nella stessa directory della soluzione.

Il suo nome file è SolutionName.sdf

Basta eliminare questo file, aprire nuovamente la soluzione e IntelliSense inizierà a ricostruire il relativo file di indice. Dopodiché il problema sarà risolto.


1

Questo ha funzionato per me in Visual Studio Enterprise 2017:

  1. Passa a Strumenti> Opzioni> Editor di testo> JavaSCript / TypeScript> Linting> Generale

  2. deseleziona "Abilita ESLint"


1
Dopo giorni di ricerca, scaricamento / caricamento di progetti e molte rimozioni di cartelle .vs, questa era la causa principale del mio problema, quindi la considero una risposta valida. Possa qualcuno, da qualche parte, benedirti figlio mio.
Nandolcs

1

Mi sono imbattuto anche in questo e sono stato in grado di riportare Visual Studio al suo stato normale procedendo come segue:

  1. Identifica il progetto da cui proviene il codice a righe rosse
  2. Rimuovere il progetto della linea rossa dai riferimenti in cui viene utilizzato (ProjectName \ Riferimenti - fare clic con il tasto destro, aggiungere riferimenti, deselezionare il progetto della linea rossa)
  3. Build (dovresti ricevere errori ora)
  4. Aggiungi di nuovo il riferimento al progetto appena rimosso
  5. Costruisci di nuovo
  6. Le linee rosse dovrebbero essere rimosse e il progetto dovrebbe essere costruito!

1

Ho avuto lo stesso problema con molte linee rosse in diversi file sorgente * cpp. Sebbene il codice sia stato compilato perfettamente. Nessuna delle altre soluzioni ha funzionato per me.

Cambiare l'ordine delle righe #include di un file * .cpp potrebbe far scomparire le linee rosse e riapparire con l'ordine ripristinato.

Poi ho notato che un file di intestazione è stato incluso due volte in un singolo file * .cpp. Ho rimosso il secondo e - è andato tutto bene.

Includere due volte un file di intestazione nello stesso file * .cpp non sembra essere un problema per il compilatore ma per la parte intellisense.


0

Forse è tardi per aggiungere ma spero che possa ancora aiutare qualcuno. Ho avuto un problema simile quando vedevo molti scarabocchi rossi in un paio di file. Ho provato tutte le risposte proposte sopra ma niente sembrava funzionare. Nel momento in cui ho iniziato a sfogliare le classi, le strutture in altri file per i quali i file che si lamentavano avevano riferimenti, il problema è scomparso. Sembrava che intellisense non fosse in grado di risolvere le dipendenze da solo per qualche motivo.


3
Non vedo una soluzione nella tua risposta. "Sembrava che intellisense non fosse in grado di risolvere le dipendenze da solo ..." - stai dicendo "sfogliando le classi, le strutture" hai aiutato intellisense a risolvere le dipendenze?
Sнаđошƒаӽ

4
@ Sнаđошƒаӽ Penso che sia esattamente quello che sta dicendo.
Robert Columbia

@RobertColumbia Senza offesa per OP, ma penso che sia semplicemente ridicolo.
Sнаđошƒаӽ

@ Sнаđошƒаӽ bene questo è quello che sta dicendo. Se pensi che la strategia non sia utile, dai un voto negativo alla risposta.
Robert Columbia

@ Sнаđошƒаӽ Bene, ho raggiunto per postare perché anch'io stavo affrontando lo stesso problema. Per prima cosa ho provato tutte le risposte prima di pubblicare ciò che ha funzionato per me Come anche altri hanno risposto in base alla loro esperienza. Non ci vedo niente di sbagliato. Invece, potrebbe aiutare anche qualcun altro.
irsis

0

Per me, una volta avevo abilitato la registrazione della fusione per eseguire il debug di alcuni errori di dipendenza dagli assembly (fuslogvw dal prompt CMD). Era stato mesi fa e da allora ho riscontrato tempi di costruzione molto più lenti (5-7 minuti). Avevo anche completamente dimenticato di averli lasciati abilitati. Questi registri erano il mio collo di bottiglia e disabilitarli ha reso l'iterazione molto più veloce. Spero che questo aiuti qualcuno!


0

Ho riscontrato questo problema con l'ultimo Visual Studio 2017.
Anche la versione di debug del mio programma era estremamente lenta.

Ho eliminato il file Solution .slne ne ho creato uno nuovo.


0

Passi che funzionano

  1. Apri la soluzione e ricostruisci tutto
  2. Chiudi soluzione
  3. Aprire la soluzione ed eseguire una pulizia
  4. Chiudi soluzione
  5. Apri la soluzione e ricostruisci tutto
  6. Chiudi e poi apri la soluzione e dovrebbe essere buona. Questo funziona per me ogni volta

Eliminare con attenzione alcuni di questi file di impostazioni in quanto perderai le impostazioni di debug salvate ecc. E potresti fare più danni di quanto pensi


0

Aggiorna semplicemente il progetto / soluzione. Sarà risolto.


0

Nel mio caso con VS 2017, ho molte "linee rosse" mostrate sotto tutti i simboli definiti in una libreria di terze parti ma il mio progetto può effettivamente essere costruito senza problemi. Ho provato tutte le soluzioni suggerite (come eliminare la cartella .VS, riavviare VS, ecc.) Ma nessuna di esse funziona.

Infine, l'ho risolto ed è così: apro la pagina delle proprietà del progetto della mia app, quindi vado a "C / C ++ -> Generale -> Directory di inclusione aggiuntive", che è il posto in cui metto tutti i percorsi di intestazione della libreria di terze parti necessari. Elimino tutto il percorso (ma li salvo da qualche parte), fai clic su "Ok" per confermare. Poi sono tornato alla stessa impostazione, incolla di nuovo il percorso, fai clic su "Ok" per confermare, quindi tutte quelle "linee rosse" scompaiono.


0

Trovato questa soluzione:

  1. Chiudi Visual Studio (assicurati che devenv.exe non sia presente nel Task Manager).
  2. Elimina la %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\xx\ComponentModelCachedirectory.
  3. Riavvia Visual Studio.

0

Ho avuto questo problema per mesi e finalmente l'ho risolto. Chiudere Visual Studio e rimuovere la cartella .vs situata nella directory della soluzione NON HA FUNZIONATO PER ME.

C'era un tag assemblyIdentity nel web.config che faceva riferimento a una libreria che non era nella mia cartella dei riferimenti. Ho rimosso questo tag, pulito, chiuso e riaperto e il problema è stato risolto.

  1. Controlla ciascuno dei tag assemblyIdentity nel tuo web.config e confrontali con la cartella dei riferimenti in Esplora soluzioni
  2. Rimuovere tutti i tag assemblyIdentity, incluso il tag dependantAssembly padre per quelli che non sono elencati nella cartella dei riferimenti.
  3. Soluzione pulita
  4. Chiudere e riaprire la soluzione
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.