2017-10-05 4 views
3

J'ai récemment mis à niveau de Visual Studio 2012 à 2017 (mis à jour vers la version 15.3.5) et j'ai quelques problèmes avec l'IDE.Visual Studio 2017 ne pas mettre en évidence les erreurs

Dans un certain projet, je n'obtiens pas de soulignement d'erreur.

enter image description here

et dans le volet Liste des erreurs, "Build Only" montre en fait plus informations que "Build + IntelliSense"

enter image description here

De plus, avec "Build + IntelliSense" sélectionné , Je peux seulement voir l'erreur de compilateur dans la fenêtre de sortie. Voici la liste des erreurs après une compilation a échoué

enter image description here

mais la fenêtre de sortie a ceci:

3> ------ Construire commencé: Projet: ..., Configuration: Déboguer tout processeur ------
3> C: \ Checkout ... \ MainForm.vb (454,27): erreur BC30311: La valeur du type 'Module1.aClass' ne peut pas être convertie en 'Module1.bClass' .

Cela ne se produit pas sur tous les projets. J'ai fait un nouveau projet pour voir si je pouvais reproduire, et je ne peux pas. Voici un nouveau projet avec le même code, où l'erreur est soulignée dans le code et "Build + IntelliSense" fonctionne.

enter image description here

J'ai même triés le XML dans les fichiers vbproj et « mis au format » le projet incriminé contre le nouveau projet, et il n'y a pas de différence évidente qui serait la cause. Les deux font référence au même compilateur. Les deux projets ciblent .Net 4.6.2 et ne sont compilés que pour x86. Le projet incriminé fait référence à quelques autres projets (C# et VB.Net) plus une DLL tierce et un paquet de nuget. En dehors de ces différences, il n'y a rien d'autre.

D'autres projets (C# et VB.Net) dans la solution du projet incriminé fonctionnent correctement.

J'ai vu des problèmes similaires dont on a parlé en ligne mais aucun correctif n'a fonctionné pour moi. J'ai essayé l'option "Repair" dans le programme d'installation. J'ai ensuite désinstallé Visual Studio et réinstallé.

Mise à jour:

Modification du cadre cible semble avoir un certain effet. Un projet avec ce comportement ciblait 4.6.2 et ne présentait aucune erreur, et lorsqu'il a été modifié en 4.7, il présentait une erreur de compilation. Puis en revenant à 4.5 il a montré une erreur. Puis, revenant à 4.6.2, il n'a montré aucune erreur. La répétition du processus s'est révélée non répétable. 4.7, 4.5, 4.6, 4.6.2 - peu importe, maintenant tous ne montrent aucune erreur.

Il est également important de lier cette page Microsoft https://developercommunity.visualstudio.com/content/problem/7759/no-errors-displayed-in-the-error-list.html car beaucoup d'autres personnes semblent avoir un problème similaire.

+0

Comportement très étrange ... On dirait un bug pour moi. Avez-vous essayé le projet problématique sur un autre ordinateur avec la même version VS? - Si j'étais vous, je ferais [écrire un rapport de bogue à Microsoft] (https://connect.microsoft.com/VisualStudio), en y attachant le projet. –

+0

J'ai créé un nouveau projet avec votre code dans Visual Studio 2012, puis le mettre à jour avec Visual Studio 2017, n'a pas pu reproduire ce problème. Donc, ce problème semble plus lié à votre projet, que diriez-vous de créer un nouveau projet avec le code ci-dessus dans votre solution, vérifiez si cela fonctionne bien? Essayez de supprimer le fichier .vs. –

+0

Pas de repro, mais j'ai évité d'installer les mises à jour. Les mises à jour 15.3.x en particulier ont généré beaucoup de rapports de bugs, trop nombreux pour que je puisse le risquer. Parfois, nous devons simplement faire notre travail au lieu de tester les produits Microsoft. Utilisation de Aide> Envoyer des commentaires> Signaler un problème est la méthode appropriée pour signaler ce type de problème. –

Répondre

1

J'ai résolu le problème, au moins dans ma solution.J'étais en train de jouer avec les références de projet et j'ai découvert que lorsqu'un projet particulier n'était pas référencé par un autre projet, j'ai eu des erreurs de soulignement. Je suis passé par un processus de modification des cibles de la version du framework jusqu'à ce que quelque chose fonctionne.

Tous mes projets visaient précédemment .NET 4.6.2. En ciblant 4.7 sur tous les projets, j'obtiens désormais un soulignement et un rapport d'erreurs corrects dans la fenêtre d'erreur. Je ne suis pas sûr que ce soit une solution pour tout le monde et il faudra un peu plus de travail de mon côté pour déployer mon projet en production mais je peux l'accepter.

Je suppose que cela est lié au ciblage 4.6.2 en utilisant Visual Studio 2012 et à la mise à niveau vers 2017. Peut-être que quelque chose n'a pas été correctement défini si/quand les projets ont été mis à jour.

+0

On dirait qu'il se produit dans 4.6.1 – thecoolmacdude