Visual Studio montre les erreurs IntelliSense mais la solution comstack

Nous évaluons actuellement le nouveau Visual Studio 2015 et avons rencontré un problème étrange avec IntelliSense. Lorsque j’ai compilé notre solution principale avec le nouveau studio, la construction réussit, mais néanmoins 6 erreurs sont affichées.

J’ai découvert que ce n’est pas une erreur réelle, mais seulement une erreur intellisense. Le code est définitivement correct et tout compilé avec succès. Le code est toutefois marqué en rouge et des erreurs apparaissent dans la liste des erreurs.

Toutes les 6 erreurs ont la même origine. C’est un simple appel de constructeur. Assez étrange, mais il y a aussi des occurrences du même constructeur sans erreurs.

Le message d’erreur:

Code: CS1729 Message: '' does not contain a constructor that takes that many arguments. Project:  File:  

Le nouveau studio a été installé sur un Windows 7 fraîchement installé sans aucun logiciel hérité (pas de VS13).

J’ai déjà essayé d’effacer les caches, de supprimer le fichier suo, de supprimer les répertoires bin et obj, de nettoyer et de reconstruire la solution, etc. Mais rien n’a fonctionné.

Quelqu’un peut-il m’expliquer ce comportement?

Également eu ce problème avec un projet migré, donc j’ai référencé la DLL Microsoft.CSharp. Dans certains projets, je devais supprimer et append à nouveau la référence dans le projet.

J’ai eu des milliers d’erreurs intellisense et 0 erreurs de construction. Après avoir supprimé le fichier .suo, une erreur de redémarrage de VS intellisense a disparu.

Le fichier Suo est situé relativement à la source dans: .vs \ SolutionName \ v14.suo

Selon le commentaire: Attention, * .suo est un fichier caché.

Edit: Selon les commentaires, VS2017 a le même problème, vous pouvez donc utiliser une solution similaire: Supprimer .vs \ SolutionName \ v15.suo

Passé à un problème similaire dans Visual Studio 2017 ASP.Net Core Project. Les étapes suivantes ont fait le tour pour moi

  1. Effectuer une solution propre
  2. Fermer VS
  3. Supprimer le fichier .suo & Supprimer les répertoires bin / obj
  4. Rouvrir VS

A également eu ce problème (le titre, pas le message d’erreur spécifique), ainsi que des lignes ondulées dans l’éditeur. La première ligne ondulée se trouve sous la première instruction #include , qui nomme un en-tête précompilé. Intellisense ne parvient pas à inclure l’en-tête précompilé, mais ne le répertorie pas comme une erreur; au lieu de cela, il répertorie les erreurs plus loin dans le fichier, sur le code qui (à juste titre) s’appuie sur des déclarations dans l’en-tête précompilé.

La raison pour laquelle Intellisense ne trouve pas l’en-tête précompilé dans mon environnement est que l’en-tête nommé n’est pas un fichier réel. Il n’a pas besoin d’être dans une autre version VC ou gcc que j’ai utilisée, ni dans le compilateur 2015, tant que les parameters d’en-tête précompilés sont correctement configurés. Apparemment plus pour Intellisense. Je ne suis pas tout à fait sûr que c’était différent en 2013, peut-être que je ne l’ai jamais remarqué.

Dans le cas peu probable où ce serait le problème signalé ici, la solution est simple: créer un petit fichier avec le nom prétendu de l’en-tête précompilé, comme spécifié dans les directives #include , et laisser ce fichier inclure le nom réel du précompilé. entête.

Si vous vous demandez … pourquoi cette distinction entre le nom d’en-tête précompilé dans la déclaration ‘#include’ et le nom de fichier réel de l’en-tête précompilé? Précisément parce qu’il garantit que les parameters d’en-tête précompilés sont correctement configurés. Partout où un en-tête précompilé est “#inclus”, aucun fichier ne peut être inclus. Une version réellement précompilée (binary) de l’en-tête réel est lue ou la compilation échoue. De toute évidence, un inconvénient est qu’il confond les gens qui lisent le code, et pas seulement Intellisense.

Problème similaire à d’autres, mais résolution différente. Affichage au cas où je pourrais aider quelqu’un d’autre.

Exécution de Visual Studio 2017 15.5.2. J’utilise Git et change souvent de twig. Il y a plusieurs semaines, j’ai commencé à avoir des éditeurs qui me montraient des erreurs (toutes liées aux types qu’il ne pouvait pas trouver même si les références étaient valides). Comstack a fonctionné très bien. J’ai confirmé le même problème dans VS 2017 15.6 Preview (6 janvier 2018). Je voudrais essayer de supprimer le cache, les fichiers SUO, ou les dossiers bin / obj et sans impact. Au début, cela semblerait fonctionner. Rouvrez Visual Studio et tout irait bien. Utilisez “Rebuild Solution” et les erreurs IntelliSense sont renvoyées. J’ai même essayé de désinstaller / réinstaller Visual Studio.

J’ai eu le même problème sur deux machines, les deux avec la même version de Visual Studio.

En examinant les erreurs concernant les types manquants, ils semblaient tous provenir de deux projets référencés. L’une de ces références était un projet partagé utilisé par à peu près tous les autres projets de la solution, mais l’un d’entre eux était un petit projet sans nombreuses références. Il se trouve que le petit projet a également été référencé par mon projet commun plus vaste. Dans Visual Studio, j’ai déchargé le petit projet et l’ai rechargé. Les erreurs ont disparu! Ces erreurs ne sont pas revenues sur Rebuild Solution.

J’ai ensuite changé de twig Git et les erreurs sont revenues. Heureusement, j’ai répété les étapes ci-dessus pour décharger / recharger le petit projet et les erreurs ont disparu.

Chaque fois que je change de twig Git, les erreurs reviennent jusqu’à ce que je répète ce processus. Il n’y a aucun changement entre les twigs Git pour le plus petit projet que je décharge / recharge. Je ne comprends pas pourquoi cette séquence corrige mon problème.

Aujourd’hui, j’ai un problème similaire avec MSVC ++ 2015. J’ai presque abandonné et j’ai décidé de continuer sans les conseils de l’IDE, mais de temps en temps j’ai remarqué que stdafx.h du sous-projet avec des problèmes ne contient aucun en-tête de bibliothèque standard. J’ai suggéré que cela pourrait ralentir la compilation des modules, mais l’inclusion des en-têtes standard corrigeait également Intellisense.

J’ai eu plusieurs stdfax.h dans les stdfax.h supplémentaires. Assurez-vous que le stdafx.h vous stdafx.h est le premier sur votre chemin.

J’ai eu un problème similaire avec différentes versions de Visual Studio.

La suppression du dossier .suo ou .vs ne m’a pas aidé.

La solution pour moi était que l’extension StopOnFirstBuildError était active. Après avoir désactivé “Arrêter la génération dès la première erreur” dans le menu de génération et après que la solution ait été entièrement construite, les erreurs affichées par Intellisense ont disparu.

Je ne voyais les erreurs intellisearch que lors de la publication d’un site Web. (Site ASP / C #, VS 2017). Ils ont cassé la publication. Le site s’est bien passé localement.

Supprimé les erreurs en décochant le paramètre à pré-comstackr, et il a publié correctement. Publier -> Paramètre -> Options de publication de fichiers -> Précomstackr pendant la publication