J'ai un problème avec Visual Studio sur une solution C #. Il affiche des erreurs totalement aléatoires, mais les projets se construisent. À l'heure actuelle, j'ai 33 fichiers avec des erreurs et je peux voir des lignes rouges ondulées dans chacun d'eux.
J'ai essayé de nettoyer / reconstruire la solution, de fermer Visual Studio et même de redémarrer mon ordinateur. J'ai également veillé à effectuer les étapes décrites dans Débogage s'exécute même avec les erreurs du compilateur dans Visual Studio. Je peux modifier les fichiers .cs et je vois les changements dans la solution.
Quelqu'un at-il une idée de pourquoi il fait ça?
c#
visual-studio
syntax-error
resharper
intellisense
GammaOmega
la source
la source
Réponses:
Si vous disposez de ReSharper, essayez de vider le cache ReSharper:
et désactiver et réactiver ReSharper:
la source
L'effacement du cache de Resharper n'a pas aidé dans mon cas, a essayé de suspendre / restaurer et également de réparer Resharper, en utilisant le dernier téléchargement sur le site Web de JetBrains - aucun de ces éléments n'a aidé. C'est après que j'ai essayé de fermer / rouvrir VS, de redémarrer ma machine, de répéter, de 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 2ème redémarrage de VS, mais c'était de retour après avoir activé Resharper <- J'ai essayé de faire cette séquence 2-3 fois pour garantir le modèle.
Quoi qu'il en soit, j'avais toujours des problèmes lorsque j'ai trouvé cet article:
J'ai donc supprimé le fichier .SUO caché au même niveau de dossier avec la solution, et cela a résolu comme par magie tous les rouges.
Remarque - pour Visual Studio 2015, le fichier .SUO se trouve dans le dossier caché .vs / [solution_name] / v14 .
la source
tldr; Déchargez et rechargez le projet problématique.
Quand cela m'arrive, j'ai (l'habitude) d'essayer de fermer VS et de le rouvrir. Cela a probablement fonctionné environ la moitié du temps. Lorsque cela ne fonctionnait pas, je fermais la solution, supprimais le fichier .suo (ou l'intégralité du dossier .vs) et rouvrais 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 telles que votre mode de construction, votre projet de démarrage, etc.
Comme c'est généralement un seul projet qui a le problème, j'ai juste essayé de décharger ce projet et de le recharger, et cela a fonctionné. Ma taille d'échantillon n'est que de 1, mais elle est beaucoup plus rapide que les deux autres options, donc cela vaut peut-être la peine. Je soupçonne que cela fonctionne car il écrit dans le fichier .suo et corrige peut-être la partie corrompue qui provoquait le problème.
Remarque: cela semble fonctionner pour VS 2019, 2017 et 2015.
la source
J'ai nettoyé la solution, fermé VS, rouvert, créé la solution et les lignes rouges non résolues ont été nettoyées et la construction a réussi.
la source
J'ai constaté que cela se produit fréquemment lors de l'utilisation de Git dans Visual Studio 2017, en changeant de branche là où il y a des changements de code dépendants . Même si le projet réussit à générer, il restera 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 de bibliothèque existe.
Résoudre:
la source
J'ai essayé les 6 options, rien n'a fonctionné pour moi. La solution ci-dessous a résolu mon problème.
Fermer VS. Supprimez le dossier ".vs" masqué à côté de votre fichier de solution. Redémarrez VS et chargez la solution.
la source
J'ai eu un problème comme celui-ci où Intellisense ne semblait pas reconnaître l'existence d'un projet (beaucoup d'erreurs "impossible de trouver ce type", "cet espace de noms n'existe pas", etc.).
La suppression et l'ajout de la référence de projet dans tous les projets de référence résoudraient le problème, mais la cause sous-jacente pourrait être corrigée en modifiant le fichier .proj du projet problématique.
Près du haut du fichier .csproj du projet "manquant" se trouve un élément:
et dans tous les projets de référence, les fichiers .csproj étaient des références de projet:
Le GUID de référence ne correspond pas au GUID du projet. Remplacer
{GUID}
ci-dessus par{ANOTHER-GUID}
fixe le problème sans avoir à passer par chaque projet de référencement.la source
Voici une collection de réponses populaires. Votez le PO de la réponse si cela vous a aidé:
Option 1: nettoyer, créer et actualiser ( option @Mike Fuchs )
Comme l'a mentionné @Mike Fuchs , essayez les opérations suivantes:
et sélectionnez le projet en question, puis cliquez sur le bouton Actualiser:
Option 2: nettoyer, fermer, redémarrer et créer ( option @Pixel )
Comme @Pixel l'a mentionné, essayez la séquence d'opérations suivante:
Option 3: vider le cache ReSharper ( option @GammaOmega )
Si vous disposez de ReSharper, essayez de vider le cache ReSharper:
et désactiver et réactiver ReSharper:
Option 4: supprimer le fichier .suo ( option @Neolisk )
Comme l'a mentionné @Neolisk , la suppression du fichier .suo pourrait résoudre votre problème. Pour Visual Studio 2015, le fichier se trouve dans:
Et pour Visual Studio 2017:
Notez que le répertoire .vs est masqué.
Option 5: décharger et recharger le projet ( @TTT option )
Comme @TTT l'a mentionné, essayez de décharger le projet qui pose problème:
Et le recharger
Option 6: supprimer et ajouter une référence Microsoft.CSharp ( @Guilherme option )
Comme @Guilherme l'a mentionné, essayez de supprimer et d'ajouter la référence à "Microsoft.CSharp" des projets qui rencontrent des problèmes.
la source
Supprimez le chemin du fichier caché = votre solution \ .vs \ votre solution Nom \ v15 \ .suo
la source
pour VS-2017, la suppression du dossier .vs a fonctionné pour moi.
la source
J'ai remarqué que parfois lors du changement de branche git, Visual Studio (2017) ne reconnaît pas les types de certains fichiers qui avaient été ajoutés dans la deuxième branche. La suppression du dossier .vs le résout, mais il supprime également tous les paramètres de votre espace de travail. Cette astuce semble bien fonctionner pour moi:
Cela oblige Intellisense à analyser le fichier qu'il a manqué lors du changement de branche.
la source
La solution suivante a fonctionné pour moi
1 - Fermer VS
2 - Supprimer le dossier .vs
3 - Open VS
4 - Créer une solution
la source
Vous essayez peut-être de réinitialiser votre cache intellisense. J'ai rencontré un problème similaire dans Visual Studio 2012 lorsque je travaillais dans un grand projet avec de nombreuses définitions de classe partielles. La réduction des partiels a résolu le problème partiellement, en effaçant également le cache intellisense - pendant un certain temps.
la source
Parfois, 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 devrez activer les fichiers et dossiers cachés pour chaque projet. Après cela, reconstruisez la solution.
la source
La suppression du
.vs
dossier a résolu mon problème.Mais cela a également réinitialisé les paramètres actuels de ma solution dans VS. Comme, mes projets déchargés dans la solution ont été rechargés et tous les documents épinglés et ouverts ont également été fermés lorsque j'ai redémarré le VS.
la source
0 - Clic droit sur la solution et solution propre
1 - Fermer VS
2 - Supprimer le fichier .suo du projet
3 - Open VS
4 - Créer une solution
la source
Un de mes collègues a connu ce problème aujourd'hui. Nous avons essayé de nombreuses recommandations ici et aucune n'a fonctionné, sauf la solution décrite ci-dessous.
Problème:
Le projet se construit correctement, mais Intellisense ne reconnaît pas certains types et marque certaines
using
déclarations comme non valides.Solution:
Modifiez la `` Plateforme de solutions '' (dans VS 2017, c'est la liste déroulante à côté de la liste déroulante Configuration de la solution et a des valeurs telles que x86, x64, AnyCPU, plates-formes mixtes, etc.) en AnyCPU .
La plate-forme de votre projet peut varier, mais il semble que certaines références ne soient pas valides pour toutes les plates-formes.
la source
Pour mon cas spécifique, c'était une référence de service qu'un autre développeur a fusionné dans la branche principale. Ce qui était parfaitement correct, sauf que la mise en évidence de la syntaxe n'a pas réussi à résoudre la classe de service générée et que la source a été soulignée en rouge. 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 de service et VS a réussi à rassembler les pièces dans les coulisses. Aucune modification dans le code source ou les fichiers générés.
la source
Je viens de rencontrer ce problème après avoir rétabli un commit git qui a ajouté des fichiers dans 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é, a été de renommer le fichier en quelque chose d'autre et de le modifier à nouveau. : facepalm:
la source
Après avoir essayé toutes les options répertoriées, j'ai découvert une autre raison pour laquelle cela peut se produire. Si quelqu'un vous a envoyé le code source sous forme de zip ou si vous avez téléchargé un zip, Windows peut avoir bloqué tous les fichiers. 2 façons de résoudre ce problème:
Méthode 1:
Faites un clic droit sur le fichier Zip d'origine -> Cochez «Débloquer» -> Cliquez sur Appliquer
Méthode 2:
Si ce n'est pas une option, plutôt que d'ouvrir des propriétés sur chaque fichier du dossier de solution, ouvrez simplement Power Shell et débloquez récursivement en utilisant ce qui suit:
la source
J'espère résoudre votre problème
la source
Avait ce problème au travail (exécutant VS2017). J'ai essayé toutes les réponses ici. Pas de joie.
Le projet se construirait très bien, mais se plaignait que les espaces / types de noms étaient introuvables. Des gribouillis rouges partout. Beaucoup d'erreurs dans la fenêtre Liste des erreurs.
Ma solution contenait 3 projets.
J'ai découvert que 3 des références de la bibliothèque NuGet pour l'un des projets étaient hors ligne. Consolidation des versions de bibliothèque référencées et Bingo.
J'espère que cela aide quelqu'un.
Brett.
la source
Décharger et recharger le projet a résolu ce problème.
la source
Parfois, si vous nettoyez simplement la solution, les erreurs disparaissent, mais elles peuvent éventuellement revenir après un certain temps ou lors de la prochaine génération.
la source
Ran dans ce problème avec un seul type non reconnu par Visual Studio qui a montré le squiggle rouge même si la solution a réussi. J'ai remarqué dans l'Explorateur de solutions que 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 ce qui produisait une erreur attendue, puis à inclure le fichier dans le projet et à enregistrer et créer.
Après avoir effectué ces étapes, Visual Studio a recommencé à reconnaître mon type. En regardant la différence dans git, il semble que le problème soit dû à des fins de ligne ne correspondant pas à la
<Compile Include="..." />
ligne de mon fichier .csproj.la source
dans mon cas, vs n'a jamais conservé les espaces de noms importés dans les propriétés du projet> références
quand j'ai essayé de les ajouter / vérifier à nouveau, je n'ai pas pu et vs a jeté une erreur et quand le projet enregistré vs s'est écrasé. Lorsque j'ai rouvert tous les espaces de noms importés standard (system.data etc ...) ont tous été cochés à nouveau et il reconnaissait alors tout sans erreur
la source
TL; DR: effectuer une réinstallation propre de Visual Studio
Après avoir perdu plusieurs heures, je n'ai toujours pas pu le réparer pour Visual Studio 2017. J'ai ensuite installé Visual Studio 2019 PREVIEW et tout d'un coup, IntelliSense m'affiche à nouveau les membres des classes STL (ce qui n'est pas le cas avec Visual Studio 2017 ).
Donc, je suppose qu'il y a peut-être aussi quelque chose de mal avec Visual Studio lui-même (peut-être quelque chose dans le répertoire cache ou quelque chose en général sur votre PC qui n'est pas directement lié à une solution spécifique) qui peut être résolu par un re propre et complet -installation de Visual Studio. Je sais, c'est une "solution" stupide, mais dans mon cas, seule une nouvelle installation de Visual Studio (2019) a eu un effet.
Comme déjà mentionné, dans mon cas, seules les classes STL ont été affectées. IntelliSense n'afficherait pas leurs membres, ce qui est étrange. J'ai pensé que cela pourrait peut-être avoir quelque chose à voir avec les en-têtes précompilés. Quelque part, j'ai lu que la STL et le projet devraient être sur le même lecteur et les mettre sur le même devrait résoudre le problème. Mais aucune de ces voies n'a abouti.
la source
J'ai constaté que cela peut se produire si le projet référencé cible une version plus élevée du cadre que le projet qui essaie de l'utiliser. Vous pouvez dire si c'est le problème en allant dans la fenêtre de sortie et en recherchant quelque chose de similaire à ceci:
La solution est de changer le cadre cible de l'un ou l'autre des projets.
la source
Mes symptômes dans VS2019 étaient que je construisais avec quelques erreurs. Ensuite, je corrigerais les erreurs et la construction fonctionnerait, comme indiqué dans la fenêtre Sortie. Mais les fenêtres Erreurs affichaient toujours les anciennes erreurs. Je pourrais le faire très bien. La fermeture de VS2019 et la réouverture ont résolu le problème, mais seulement pendant un petit moment. Cela a commencé à se produire sur la version 16.4.3
Cette solution semble fonctionner pour moi:
Décochez Outils-> Option-> Projets et solutions-> Général-> Autoriser l'initialisation de projet parallèle
J'ai trouvé ce correctif enfoui dans les commentaires ici: https://developercommunity.visualstudio.com/content/problem/483450/vs-2019-intellisense-reports-compile-errors-when-r.html
la source
Essayez de passer la souris sur les éléments soulignés. Il devrait normalement vous dire quel est le problème. Pour voir une liste de toutes les erreurs / avertissements, accédez à Affichage => Liste d'erreurs. Un tableau devrait s'ouvrir au bas de l'EDI avec toutes les erreurs / avertissements répertoriés.
la source