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 6 erreurs sont néanmoins affichées.
J'ai découvert que ce n'est pas une vraie erreur, mais seulement une erreur intellisense. Le code est définitivement correct et tout est compilé avec succès. Le code est cependant marqué en rouge et les erreurs apparaissent dans la liste des erreurs.
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 exact sans aucune erreur.
Le message d'erreur:
Code: CS1729
Message: '<the class>' does not contain a constructor that takes that many arguments.
Project: <the project name>
File: <the path to the 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é de vider les caches, supprimé le fichier suo, supprimé les répertoires bin et obj, nettoyé et reconstruit la solution, etc. Mais rien n'a fonctionné.
Quelqu'un peut-il m'expliquer ce comportement?
Réponses:
J'ai également eu ce problème avec un projet migré, j'ai donc référencé la DLL Microsoft.CSharp. Dans certains projets, je devais supprimer et ajouter à nouveau la référence dans le projet.
la source
J'ai eu des milliers d'erreurs intellisense et 0 erreurs de construction. Après la suppression du
.suo
fichier et le redémarrage de VS intellisense, les erreurs ont disparu.Suo
Le fichier est situé par rapport à la source dans:.vs\SolutionName\v14\.suo
Selon le commentaire: méfiez-vous qu'il
*.suo
s'agit d'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
la source
*.suo
fichiers peuvent être cachés dans certains cas. Vous devez donc activer l'View Hidden files
option de l'explorateur Windows.<%=Foo%>
disant que la variable n'est pas déclarée, mais que tout fonctionne à l'exécution.Ran dans un problème similaire dans Visual Studio 2017 ASP.Net Core Project. Les étapes suivantes ont fait l'affaire pour moi
la source
Problème similaire aux autres, mais résolution différente. Poster au cas où je peux aider quelqu'un d'autre.
Exécution de Visual Studio 2017 15.5.2. J'utilise Git et change fréquemment de branche. Il y a plusieurs semaines, j'ai commencé à demander aux éditeurs de me montrer des erreurs (toutes liées à des types qu'il ne pouvait pas trouver même si les références étaient valides). La compilation a très bien fonctionné. J'ai confirmé le même problème dans VS 2017 15.6 Preview (6 janvier 2018). J'essaierais de supprimer le cache, les fichiers SUO ou les dossiers bin / obj et sans impact. Au début, cela semble fonctionner. Rouvrez Visual Studio et tout aurait l'air bien. Utilisez "Rebuild Solution" et les erreurs IntelliSense seraient 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, toutes deux avec la même version de Visual Studio.
En examinant les erreurs concernant les types manquants, elles semblaient toutes 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'eux était un petit projet sans beaucoup de références. Il se trouve que le petit projet a également été référencé par mon plus grand projet partagé. Dans Visual Studio, j'ai déchargé le petit projet et l'ai rechargé. Les erreurs sont parties! Ces erreurs ne sont pas revenues sur Rebuild Solution.
J'ai ensuite changé de branche Git et les erreurs sont toutes revenues. Heureusement, j'ai répété les étapes ci-dessus de déchargement / rechargement du petit projet et les erreurs ont disparu.
Chaque fois que je change de branche Git, les erreurs reviennent jusqu'à ce que je répète ce processus. Il n'y a aucun changement entre les branches Git pour le plus petit projet que je décharge / recharge. Je ne sais pas pourquoi cette séquence résout mon problème.
la source
É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
#include
instruction, 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 du 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 de VC ou gcc que j'ai utilisée, ni dans le compilateur 2015, tant que les paramètres d'en-tête précompilés sont correctement configurés. Apparemment plus pour Intellisense. Je ne suis pas tout à fait sûr que ce soit différent en 2013, peut-être que je n'ai jamais remarqué.
Dans le cas improbable où ce serait le problème signalé ici, la solution est simple: créez un petit fichier avec le prétendu-nom de l'en-tête précompilé, comme spécifié dans les
#include
directives, et laissez ce fichier inclure le nom réel de l'en-tête précompilé.Si vous vous demandez ... pourquoi cette distinction entre le nom d'en-tête précompilé dans l'instruction '#include' et le nom de fichier réel de l'en-tête précompilé? Précisément parce qu'il garantit que les paramètres d'en-tête précompilés sont correctement configurés. Partout où un en-tête précompilé est "#included", il n'y a aucun fichier autour qui pourrait être inclus. Soit une version réellement précompilée (binaire) de l'en-tête réel est lue, soit la compilation échoue. De toute évidence, un inconvénient est que cela déroute les gens qui lisent le code, pas seulement Intellisense.
la source
Visual Studio 2017 J'ai supprimé le fichier ".suo" de l'emplacement .vs \ SolutionName \ v15.suo Et puis redémarré Visual studio. Cela a fonctionné pour moi.
la source
Aujourd'hui, j'ai eu un problème similaire avec MSVC ++ 2015. J'ai presque abandonné et j'ai décidé de continuer sans conseils IDE, mais j'ai soudainement remarqué que stdafx.h du projet avec lequel j'ai eu des problèmes ne contient aucun en-tête de bibliothèque standard. J'ai émis l'hypothèse que l'inclusion de tous les en-têtes standard utilisés dans le projet dans stdafx.h pourrait augmenter la vitesse de compilation, mais cela a également corrigé les erreurs Intellisense.
la source
J'en avais plusieurs
stdfax.h
dans les répertoires d'inclusion supplémentaires. Assurez-vous que ce questdafx.h
vous vouliez est le premier sur votre chemin.la source
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 à la première erreur» dans le menu de génération, et une fois la solution entièrement générée, les erreurs affichées par Intellisense ont disparu.
la source
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 fonctionnait bien localement.
Effacé les erreurs en décochant le paramètre de précompilation, et il a publié très bien. Publier -> Paramètre -> Options de publication de fichier -> Précompiler lors de la publication
la source
Dans Visual Studio 2019, le problème concerne la modification des branches avec Git lorsque des packages NuGet sont installés dans le projet. Ce que j'ai fait pour résoudre ceci:
la source