Visual Studio affiche les erreurs même si les projets sont construits

J’ai un problème avec Visual Studio sur une solution C #. Il affiche des erreurs totalement aléatoires, mais les projets se construisent. En ce moment, j’ai 33 fichiers avec des erreurs, et je peux voir des lignes ondulées rouges dans chacun d’eux.

J’ai essayé de nettoyer / reconstruire la solution, de fermer Visual Studio et même de redémarrer mon ordinateur. Je me suis également assuré de suivre les étapes décrites dans Débogage, même avec les erreurs du compilateur dans Visual Studio. Je peux modifier les fichiers .cs et je vois les modifications apscopes à la solution.

Est-ce que quelqu’un a une idée de la raison pour laquelle cela se produit?

Voici une collection de réponses populaires. Notez le PO de la réponse si cela vous a aidé:

Option 1: nettoyer et construire

Si vous n’avez pas déjà essayé le nettoyage et la reconstruction, procédez comme suit:

Dans le menu Construire> Nettoyer la solution

puis

Dans le menu Build> Build Solution

Option 2: nettoyer, fermer, redémarrer et construire ( option de @Pixel )

Comme @Pixel l’a mentionné, essayez la séquence d’opérations suivante:

  1. Nettoyer la solution
  2. Fermer Visual Studio
  3. Ouvrez Visual Studio
  4. Construire une solution

Option 3: effacer le cache ReSharper

Si vous avez ReSharper, essayez de vider le cache ReSharper:

Dans le menu, ReSharper> Options> Environnement> Général> Effacer les caches

et désactiver et réactiver ReSharper:

Dans le menu Outils> Options> ReSharper> Général> Suspendre / Restaurer

Option 4: Supprimer le fichier .suo ( option de @Neolisk )

Comme @Neolisk l’a mentionné, la suppression du fichier .suo peut résoudre votre problème. Pour Visual Studio 2015, le fichier se trouve dans:

[Chemin de la solution] /. Vs / [Nom de la solution] /v14/.suo

Et pour Visual Studio 2017:

[Chemin de la solution] /. Vs / [Nom de la solution] /v15/.suo

Notez que le répertoire .vs est masqué.

Option 5: Décharger et recharger le projet ( option de @TTT )

Comme @TTT mentionné, essayez de décharger le projet qui pose problème:

Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet, déchargez le projet.

Et le recharger

Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet Reload Project.

Option 6: Décharger et recharger le projet ( option de @Guilherme )

Comme @Guilherme l’a mentionné, essayez de supprimer et d’append la référence à “Microsoft.CSharp” des projets qui ont des problèmes.

Dans l’Explorateur de solutions, développez le projet, développez “Références”, cliquez avec le bouton droit sur “Microsoft.CSharp” et sur Supprimer.

Ensuite, cliquez avec le bouton droit sur Références> Ajouter une référence, sélectionnez “Microsoft.CSharp” dans la liste et cliquez sur OK.

Le cache de Clearing Resharper n’a pas aidé dans mon cas, a essayé de suspendre / restaurer , et aussi de réparer Resharper, en utilisant le dernier téléchargement du site Web de JetBrains – aucun de ces deux n’a aidé. C’est après avoir essayé de fermer / rouvrir VS, redémarrer ma machine, répéter, construire / reconstruire et la combinaison de ceux-ci.

Il est intéressant de noter que la suspension de Resharper semblait résoudre le problème après le deuxième redémarrage de VS, mais elle a été rétablie après que j’ai activé Resharper < - j'ai essayé de faire cette séquence 2 à 3 fois pour garantir le motif.

Quoi qu’il en soit, j’avais encore des problèmes quand j’ai trouvé cet article:

  • Astuce: Que faire lorsque Visual Studio fait peur et que tout est rouge

J’ai donc supprimé le fichier .SUO caché au même niveau de dossier avec la solution, et il a résolu comme par magie tous les rouges.

Remarque – pour Visual Studio 2015, le fichier .SUO se trouve dans le dossier caché .vs / [nom_solution] / v14 .

J’ai nettoyé la solution, fermé le VS, l’a rouverte, créé la solution et les lignes rouges non résolues ont été nettoyées et la création a réussi.

tldr; Déchargez et rechargez le projet problématique.

Lorsque cela m’arrive, j’ai essayé de fermer VS et de le rouvrir. Cela a probablement fonctionné environ la moitié du temps. Si cela ne fonctionnait pas, je fermais la solution, supprimais le fichier .suo (ou l’intégralité du dossier .vs) et rouvrait la solution. Jusqu’à présent, cela a toujours fonctionné pour moi (plus de 10 fois au cours des 6 derniers mois), mais c’est un peu fastidieux car certaines choses sont réinitialisées, comme votre mode de construction, votre projet de démarrage, etc.

Comme ce n’est généralement qu’un projet qui pose problème, j’ai juste essayé de décharger ce projet et de le recharger, et cela a fonctionné. La taille de mon échantillon est seulement de 1, mais c’est beaucoup plus rapide que les deux autres options. Je soupçonne que cela fonctionne car il écrit dans le fichier .suo et corrige peut-être la partie endommagée qui causait le problème pour commencer.

Remarque: j’utilise Visual Studio 2015.

J’ai eu un problème comme celui-là où Intellisense ne semblait pas reconnaître l’existence d’un projet (beaucoup de “ne peut pas trouver ce type”, “cet espace n’existe pas”, etc.).

La suppression et le rajout de la référence du projet dans tous les projets référençant permettrait de résoudre le problème, mais la cause sous-jacente pourrait être corrigée en éditant le fichier .proj du projet à problème.

Près du haut du fichier “manquant” du projet .csproj se trouve un élément:

{GUID} 

et dans tous les projets de référencement, les fichiers .csproj étaient des références de projet:

  {ANOTHER-GUID} Offending Project  

Le GUID de référence ne correspond pas au GUID du projet. Remplacer {GUID} ci-dessus par {ANOTHER-GUID} résolu le problème sans avoir à passer par chaque projet de référencement.

J’ai constaté que cela se produit fréquemment lors de l’utilisation de Git dans Visual Studio 2017, en changeant de twig où il y a des modifications de code dépendant . Même si le projet réussira, il restra des erreurs dans la liste des erreurs.

Ces erreurs sont souvent des problèmes d’espace de noms et des références manquantes, même lorsque la référence à la bibliothèque existe.

Résoudre:

  • Fermer Visual Studio
  • Supprimez le fichier {sln-root} .vs \ PRISM.IncomeVerification \ v15.suo (masqué)
  • Redémarrez Visual Studio

Peut-être que vous essayez de réinitialiser votre cache intellisense. J’ai eu un problème similaire dans Visual Studio 2012 lorsque je travaillais dans un grand projet avec de nombreuses définitions de classes partielles. La réduction des partiels a partiellement résolu le problème, en effaçant également le cache intellisense – pendant un certain temps.

De temps en temps, je dois faire un nettoyage personnalisé en parcourant tous les projets et en supprimant manuellement les dossiers “bin” et “obj”. Pour les voir dans Visual Studio, vous devez activer les fichiers et dossiers cachés pour chaque projet. Après cela, reconstruisez la solution.

Pour mon cas particulier, il s’agissait d’une référence de service, un autre développeur a fusionné dans la twig principale. Ce qui était parfaitement correct sauf que la mise en évidence de la syntaxe n’a pas permis de résoudre la classe de service générée et que la source était tout en rouge soulignée. Le nettoyage, la reconstruction, le redémarrage n’ont rien fait.

Tout ce que j’avais à faire était de rafraîchir la référence du service et VS a réussi à rassembler les pièces dans les coulisses. Aucun changement dans le code source ou les fichiers générés.

Je viens de rencontrer ce problème après avoir rétabli un commit git qui ajoutait des fichiers à mon projet.

Le nettoyage et la reconstruction du projet n’ont pas fonctionné, même si j’ai fermé VS entre chaque étape.

Ce qui a finalement fonctionné, était de renommer le fichier en quelque chose d’autre et de le modifier à nouveau. : facepalm:

Parfois, si vous nettoyez la solution, les erreurs disparaissent, mais elles peuvent éventuellement revenir plus tard ou à la prochaine génération.

Ran a abordé ce problème avec un seul type non reconnu par Visual Studio qui a montré le squiggle rouge même si la solution a été construite avec succès. J’ai remarqué que, dans l’Explorateur de solutions, le fichier n’avait pas la flèche de développement à gauche qui montre les classes et les propriétés lors de l’expansion.

Le correctif consistait à exclure le fichier du projet et à enregistrer / générer une erreur attendue, puis à inclure le fichier dans le projet et à enregistrer et générer.

Après avoir effectué ces étapes, Visual Studio a recommencé à reconnaître mon type. En regardant le diff dans git, il semble que le problème était dû à des fins de ligne ne correspondant pas à la ligne de mon fichier .csproj.

0 – Faites un clic droit sur la solution et nettoyez la solution

1 – Fermer VS

2 – Supprimer le fichier .suo du projet

3 – Open VS

4 – Construire la solution

dans mon cas vs ne conservait jamais les espaces de noms importés dans les propriétés du projet> références

quand j’ai essayé de les append / vérifier à nouveau, je n’ai pas pu et j’ai jeté une erreur et quand le projet a été sauvegardé ou s’est écrasé. Lorsque j’ai rouvert tous les espaces de noms importés standard (system.data etc …), ils ont tous été cochés à nouveau et ils ont ensuite tout reconnu sans erreur.

Essayez de survoler les éléments soulignés avec la souris. Il devrait normalement vous dire quel est le problème. Pour afficher une liste de toutes les erreurs / avertissements, accédez à Affichage => Liste des erreurs. Une table devrait s’ouvrir au bas de l’IDE avec toutes les erreurs / avertissements listés.

J’ai résolu ce problème en supprimant les fichiers temporaires de Microsoft .NET Framework. Emplacement: C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Fichiers ASP.NET temporaires et C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Fichiers ASP.NET temporaires

 REM DELETE ALL VS HIDDEN SOLUTION OPTION FILES DEL /A:H /S *.SUO