web-dev-qa-db-fra.com

VS 2015 Update 1 - Affirmer que je débogue une version validée

Après la mise à jour vers la mise à jour 1 de VS 2015, si j'exécute un projet Web (MVC), arrêtez l'application, puis essayez de l'exécuter à nouveau, VS s'arrête et affiche une boîte de dialogue demandant

Vous déboguez une version Release de <myproject.dll>.

L'utilisation de Just My Code avec des versions de version utilisant des optimisations de compilateur entraîne une expérience de débogage dégradée (par exemple, les points d'arrêt ne seront pas touchés).

Le problème est que je suis ne pas exécuter de version release. Je suis clairement en train d'exécuter la (même) version de débogage que je viens d'exécuter! Pourquoi VS pense-t-il que je suis en train de lancer une version release?

Le nettoyage de la solution et sa réexécution effacent le message d'erreur. Quelque chose se passe donc quelque part.

93
John T

Selon Microsoft, il s’agit d’un problème connu (il a été initialement attribué à l’équipe du débogueur, mais il a été déterminé qu’il s’agissait d’un problème de génération et qu’il est maintenant entre les mains de l’équipe système du projet. La priorité 1 devrait donc être sur la bonne voie pour la prochaine mise à jour Bien que, comme prévu, aucune promesse ne puisse être faite quant à la date de publication (ou au contenu de la mise à jour).

Alors. C'est connu et on y travaille. Au moins, désactiver l'option "Activer uniquement mon code" dans les options générales de débogage semble être une solution pour l'instant.

55
John T

Comme mentionné par @romanoza, Microsoft a mis à jour le rapport de bogue Microsoft Connect (maintenant manquant) (précédemment localisé ici , si vous pouvez trouver une archive quelque part) avec les informations suivantes:

Désélectionnez le paramètre Debug -> Options -> Supprimer l’optimisation JIT lors du chargement du module (géré uniquement)

C'est la solution de contournement. Ils vont dire plus tard:

Nous recommandons aux utilisateurs de ne pas le cocher, car cela permettra d'améliorer à la fois les performances et le comportement de mon code uniquement dans des scénarios spécifiques.

Enfin, la reconnaissance:

C’est un bug qu’il ne fonctionne pas avec ce paramètre activé et nous travaillons sur un correctif pour cette situation au cas où certains clients souhaitent toujours procéder au débogage avec ce paramètre activé.

Mise à jour : D'après les commentaires, il apparaît que la case est maintenant un cochée par défaut pour certains développeurs, et que vérifiant il peut résoudre le même problème dans certains cas. Très étrange.

44
Nate Cook

J'ai remarqué que les réponses ici sont incomplètes, j'avais le même problème et cela a été résolu en ouvrant les propriétés du projet et sous l'onglet Construction et configuration de débogage décochant "optimiser le code" . Vous devez également vérifier le gestionnaire de configuration comme mentionné ci-dessus pour vous assurer que le son est également bon. La réponse est venue de cet article et ils devraient obtenir le crédit: Le projet VS2015 ne fonctionne plus en mode débogage

Merci,

22
cesar-moya

Nettoyer (et reconstruire) la solution fonctionne pour moi comme solution temporaire. Vous pouvez également sélectionner Déboguer> Options et désélectionner la case à cocher Suppress JIT optimization.

11
romanoza

Je rencontre le même problème depuis la mise à jour à la mise à jour 1 de VS2015.

Nous avons trouvé un rapport similaire sur les forums Visual Studio de Microsoft, qui pointe vers un rapport de bogue qui a été soulevé avec eux ici

Il existe différentes solutions, mais je pense que le problème sous-jacent est que IIS Express ne s’arrête pas lorsque le débogage est terminé - et que cela n’est pas dû au fait que l’option de modification et de poursuite n’a pas été cochée. Solution la plus rapide que je puisse trouver jusqu'à ce que le bogue soit corrigé:

  • Cliquez avec le bouton droit sur l'icône IIS Express dans la barre d'état et quittez-la après le débogage (Merci à David Totzke qui a fourni la solution de contournement du rapport de bogue).

Pas génial, mais je ne pense pas qu'une solution adéquate soit disponible pour le moment.

6
Jon

J'ai rencontré le même problème. J'ai résolu le problème en supprimant manuellement tous les fichiers du dossier "bin", puis en reconstruisant la solution. Je ne comprends plus ce dialogue.

3
Bps

Dans mon cas, j'avais changé la "plate-forme de solution active" pour l'ensemble de la solution dans "Configuration Manager" de x86 à n'importe quel processeur, corrigé le problème.

2
Mak R

Dans mon cas, le message d'erreur était correct. Je courais une application qui a chargé la version publiée. Je l'ai donc corrigé en demandant à l'application de charger la version de débogage à la place.

Élémentaire, je sais, et je réalise que je me fais passer pour un idiot. Mais parfois, le problème est exactement ce qui est rapporté.

1
Randy Richardson

Il semble y avoir autant de solutions que de personnes ayant le problème, mais dans mon cas, j'ai dû supprimer et rajouter une référence de projet. La référence du projet se trouvait dans un projet de test unitaire dans la même solution.

1
Crowcoder

J'ai remarqué que Visual Studio ne détruisait pas le processus iisexpress après avoir arrêté le débogueur. Tuer manuellement le processus a semblé régler le problème pour moi.

Cela semble avoir été corrigé dans la mise à jour 2.

1
Alex

Vérifiez les propriétés de configuration de votre solution. J'ai rencontré le même problème et découvert que ma configuration de débogage générait en fait des projets avec une configuration de version.

1
user5632285

J'ai essayé toutes les réponses, et celle qui a fonctionné pour moi est de supprimer un paquet de NuGet, pas seulement la référence, mais de supprimer le paquet, dans mon cas, PostSharp. Au début, j'ai essayé de supprimer la référence de tous les projets et cela ne fonctionne pas, puis j'ai simplement supprimé les packages du gestionnaire. Je ne sais pas exactement pourquoi, mais c'est ce qui a résolu mes problèmes, j'espère que cela pourra aider quelqu'un.

0
JohnZ

Vérifiez que l'URL du projet IIS _ pointe vraiment là où vous le pensez. En cas de doute, cliquez sur le bouton "Créer un répertoire virtuel".

J'ai eu ce problème récemment où j'utilisais une version temporaire d'une base de code de production et que j'avais repointé le dossier dans IIS vers la version temporaire, qui exécutait effectivement une version de production et non la version de débogage I essayait de déboguer.

0
Andy Twiss

Redémarrez Visual Studio. Cela a résolu le problème pour moi en 2017 Professional.

0
TomDane

Voici ce qui a fonctionné pour moi.

Si un projet Web, accédez aux propriétés du projet Web et

  1. Si Local IIS est sélectionné, redémarrez votre serveur IIS.
  2. Si vous sélectionnez IIS Express, quittez IIS express depuis l'icône de la barre des tâches.

Il semble que certaines dll soient mises en cache, alors les étapes ci-dessus invalideront le cache.

0
CodingYoshi

Pour moi, j'ai trouvé 3\Release\folder refs dans ce fichier FileListAbsolute.txt:

C:\Projects\MyWebApp.Web\obj\Version\MyChildWebApp.Web.csproj.FileListAbsolute.txt

Ils étaient comme ça:

C:\Projects\MyWebApp.Web\obj\Version\MyChildWebApp.Web.csprojResolveAssemblyReference.cache

C:\Projects\MyWebApp.Web\obj\Version\MyChildWebApp.Web.dll

C:\Projects\MyWebApp.Web\obj\Version\MyChildWebApp.Web.pdb

Et le simple fait de supprimer ces 3 lignes en dehors de VS puis de rouvrir la solution a résolu le problème. J'espère que ça t'as aidé.

0
Ian_G