Visual Studio affiche des erreurs même si les projets construisent
J'ai un problème avec Visual Studio sur une solution C#. Il affiche des erreurs totalement aléatoires, mais les projets construisent. Maintenant, j'ai 33 fichiers avec des erreurs, et je peux voir des traits rouges ondulés.
j'ai essayé de nettoyer / reconstruire la solution, fermer Visual Studio et même redémarrer mon ordinateur. J'ai aussi fait en sorte de faire les étapes décrites dans Debugging runs, même avec les erreurs du compilateur dans Visual Studio. Je peux modifier .fichiers cs et je vois les changements dans solution.
quelqu'un sait pourquoi il fait ça?
20 réponses
Voici une collection de réponses. Si cela vous a aidé:
Option 1: Nettoyer, construire et rafraîchir ( @Mike Fuchs option)
comme @Mike Fuchs mentionné, essayez les opérations suivantes:
dans le menu, construire > solution propre
puis construisez-le:
In menu, construire > construire la Solution
et enfin rafraîchir:
Option 2: Nettoyer, Fermer, redémarrer et construire ( @Pixel option)
comme @Pixel mentionné, essayez la séquence d'opérations suivante:
- nettoyer la solution
- Close Visual Studio
- Open Visual Studio
- générer la solution
Option 3: Clear ReSharper cache (mon option originale)
si vous avez ReSharper, essayez de vider le cache ReSharper:
Dans le menu, ReSharper > Options > Options d'Environnement > Général > Effacer les Caches
et invalidante et ré-activation de ReSharper:
dans le menu, Outils > Options > ReSharper > General > Suspend / Restore
Option 4: supprimer le .suo fichier ( @Neolisk en option)
Comme @Neolisk mentionné, la suppression de la .suo fichier peut résoudre votre problème. Pour Visual Studio 2015, le fichier est situé dans:
Solution./]vs/[nom de la Solution]/v14/.suo
et pour Visual Studio 2017:
[voie de Solution]/.vs/[nom de la Solution]/v15/.suo
noter que le .le répertoire vs est caché.
Option 5: projet de déchargement et de rechargement ( @TTT option)
comme @TTT mentionné, essayer de décharger le projet qui provoque problèmes:
Dans l'Explorateur de solutions, cliquez-droit sur le projet, Décharger le Projet.
et le recharger
Dans l'Explorateur de solutions, cliquez-droit sur le projet, Recharger Projet.
Option 6: projet de déchargement et de rechargement ( @Guilherme option)
comme @Guilherme mentionné, essayez retrait et ajout de 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 sur "Microsoft.CSharp" et supprimer.
ensuite, faites un clic droit sur les références > ajouter une référence, sélectionnez "Microsoft.CSharp" de la liste et cliquez sur OK
Compensation Resharper cache n'aide pas dans mon cas, essayé suspendre/restaurer , et également la Réparation de Resharper, en utilisant les dernières télécharger off JetBrains' site web - aucune de ces aidé. C'est après que j'ai essayé de fermer/rouvrir VS, redémarrer ma machine, répéter, construire/reconstruire et la combinaison de ceux-ci.
il est intéressant que Suspension Resharper semblait résoudre le problème après le 2nd redémarrage de VS, mais il était de retour après que J'ai activé Resharper <-- j'ai essayé de faire cette séquence 2-3 fois pour assurer le modèle.
de toute façon, j'avais encore des problèmes quand j'ai trouvé cet article:
donc j'ai supprimé le caché .SUO fichier sur le même niveau de dossier avec solution, et il par magie résolu tous les rouges.
Note - pour Visual Studio 2015, le .SUO fichier .vs/[solution_name] / v14 dossier caché.
j'ai nettoyé la solution, fermé VS, l'ai rouvert, construire la solution, et les lignes rouges non résolus ont été nettoyés et construire réussi.
tldr; de Décharger et de recharger le problème du projet.
quand cela m'arrive, j'essaie de fermer VS et de le rouvrir. Que probablement travaillé près de la moitié du temps. Quand ça ne marchait pas je fermais la solution, supprimais le .suo fichier (ou de l'ensemble .vs folder) et rouvrir la solution. Jusqu'à présent cela a toujours fonctionné pour moi (plus de 10 fois au cours des 6 derniers mois), mais il est un peu fastidieux parce que certaines choses se réinitialiser comme votre le mode de construction, projet de démarrage, etc.
étant donné que ce n'est généralement qu'un projet qui pose problème, j'ai essayé de décharger ce projet et de le recharger, et ça a marché. Ma taille d'échantillon est seulement 1 mais il est beaucoup plus rapide que les deux autres options donc peut-être la peine d'essayer. Je soupçonne que cela fonctionne car il écrit à la .suo fichier, et peut-être corrige la partie corrompue de celui-ci qui causait le problème pour commencer.
Note: J'utilise Visual Studio 2015.
j'ai trouvé que cela se produit fréquemment lors de l'utilisation de Git dans Visual Studio 2017, commutation branches où il ya des changements de code dépendants . Même si le projet réussira, 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 la bibliothèque existe.
À résoudre:
- Fermez Visual Studio
- supprimer le {SLN-root}.vs \ PRISM.IncomeVerification\v15.suo fichier (caché)
- Redémarrer Visual Studio
j'ai eu un problème comme celui-ci où Intellisense ne semblait pas reconnaître l'existence d'un projet (beaucoup de" ne peut pas trouver ce type"," cet espace-nom n'existe pas", etc. erreur.)
supprimer et ajouter à nouveau la référence au projet dans tous les projets de référence réglerait le problème, mais la cause sous-jacente pourrait être corrigée en éditant le .proj fichier du projet.
près du sommet du projet" missing".le fichier csproj est un élément:
<ProjectGuid>{GUID}</ProjectGuid>
et dans tous les projets de référencement .les dossiers csproj étaient des références de projet:
<ProjectReference Include="..\OffendingProject\OffendingProject.csproj">
<Project>{ANOTHER-GUID}</Project>
<Name>Offending Project</Name>
</ProjectReference>
la référence ne correspond pas à la référence du projet. Remplacer {GUID}
ci-dessus par {ANOTHER-GUID}
a réglé le problème sans devoir passer par tous les projets de référencement.
essayez peut-être de réinitialiser votre cache intellisense. J'ai eu un problème similaire dans visual studio 2012 alors que je travaillais dans un grand projet avec de nombreuses définitions partielles de classe. La réduction des partiels a résolu partiellement le problème, en dégageant le cache intellisense aussi - pendant un certain temps.
de temps en temps je dois faire un nettoyage personnalisé en passant par tous les projets et supprimer 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.
pour mon cas précis, c'était une référence de service.un autre développeur a fusionné dans la branche principale. Ce qui était parfaitement correct sauf que la mise en évidence syntaxique n'a pas résolu la classe de service générée et 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 à mettre les pièces ensemble dans les coulisses. Aucun changement dans le code source ou les fichiers générés.
je viens de tomber sur ce problème après avoir inversé un git commit qui a ajouté des fichiers dans mon projet.
nettoyer et reconstruire le projet n'a pas fonctionné, même si j'ai fermé VS entre chaque étape.
ce qui a finalement fonctionné, c'est de renommer le fichier en quelque chose d'autre et de le changer à nouveau. : facepalm:
après avoir essayé toutes les options énumérées, j'ai découvert une autre raison pour laquelle cela peut arriver. Si quelqu'un vous a envoyé le code source comme un zip, ou 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:
clic droit sur le fichier Zip original - > cochez la case "Débloquer" - > cliquez sur "Appliquer
Méthode 2:
si c'est pas une option, plutôt que d'ouvrir des propriétés sur chaque fichier dans le dossier solution, il suffit d'ouvrir power shell et de débloquer de manière récursive en utilisant ce qui suit:
Get-ChildItem -Path 'C:\<ROOT FOLDER OF SOLUTION>\' -Recurse | Unblock-File
pour VS-2017, suppression .dossier vs a fonctionné pour moi.
parfois, si vous nettoyez juste la solution les erreurs disparaissent, mais ils peuvent éventuellement revenir après un certain temps ou à la prochaine construction.
a rencontré ce problème avec un seul type n'étant pas reconnu par Visual Studio qui a montré le grincement Rouge, même si la solution construite avec succès. J'ai remarqué dans L'Explorateur de solutions que le fichier n'avait pas la flèche expand à gauche qui montre les classes et les propriétés lors de l'expansion.
le correctif était D'exclure le fichier du projet et de sauver/Construire qui a produit une erreur attendue, puis inclure le fichier dans le projet et sauver et construire.
après avoir exécuté ces étapes Visual Studio a commencé à reconnaître mon type à nouveau. En regardant la différence dans git il semble que le problème était dû aux fins de ligne ne correspondant pas sur la ligne <Compile Include="..." />
de mon .fichier csproj.
0 - clic droit sur la Solution et la solution propre
1-Close VS
2 - Supprimer les projets .suo fichier
3-Ouvert VS
solution 4-Build
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 ne pouvais pas et vs a lancé une erreur et quand le projet enregistré vs s'est écrasé. Quand j'ai rouvert tous les espaces de noms standard importés (système.de données, etc...
j'ai essayé toutes les 6 options, rien n'a fonctionné pour moi. La solution ci-dessous a résolu mon problème.
Close VS. Supprimer le caché ".vs " dossier à côté de votre fichier solution. Redémarrez VS et chargez la solution.
essayez de planer avec 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, allez dans Affichage => Liste des Erreurs. Un tableau devrait s'ouvrir au bas de l'IDE avec toutes les erreurs/avertissements énuméré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\Temporary ASP.NET dossiers et C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET dossiers
REM DELETE ALL VS HIDDEN SOLUTION OPTION FILES
DEL /A:H /S *.SUO