VS 2015 Update 1 - Réclamer que je débogue une version de version


97

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 fait apparaître une boîte de dialogue réclamant

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

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

Le problème est que je n'exécute pas une version de version. J'exécute clairement la (même) version de débogage que je viens de lancer! Pourquoi VS pense-t-il que j'exécute une version de version?

Le nettoyage de la solution et la réexécution efface le message d'erreur, donc quelque chose est arrosé quelque part.


1
J'adorerais savoir si vous avez résolu ce problème. Je rencontre exactement le même problème après l'installation de la mise à jour 1. Le nettoyage / réexécution me permet de passer temporairement, mais cela se reproduit la prochaine fois.
Jerad Rose

1
Malheureusement, je ne l'ai pas fait. Je suis en communication avec le support Microsoft qui étudie le problème.
John T du

2
Pour ce que cela vaut, le support Microsoft a reproduit le problème et étudie. Dès que j'entends, je ferai rapport / réponse.
John T

@JohnT Une chance encore?
Nick

@Nick En fait, non. Je vais envoyer un ping à mon contact pour voir s'il y a une mise à jour.
John T

Réponses:


58

Le mot de Microsoft est qu'il s'agit d'un problème connu (à l'origine, il est allé à l'équipe de débogage, mais il a été déterminé qu'il s'agissait d'un problème de construction, et est maintenant entre les mains de l'équipe du système de projet. Il y a d'autres bogues ouverts sur ce problème, et c'est classé Priorité 1, devrait donc être sur la bonne voie pour la prochaine mise à jour. Bien que, comme on pouvait s'y attendre, aucune promesse ne puisse être faite quant à la date de sa sortie (ou à ce qui est réellement dans la mise à jour).

Alors. Il est connu et est en cours d'élaboration. Au moins, désactiver l'option «Activer uniquement mon code» dans les options générales de débogage semble être une solution pour le moment.


13
Toujours obtenir cela dans VS2017, mais seulement pour une DLL. Toute mise à jour?
JMK

1
Existe-t-il une URL telle que UserVoice qui suit ce problème?
UuDdLrLrSs

En utilisant le même travail pour VS 2017. Bizarre, ce n'est pas encore corrigé correctement. En tout cas merci pour le travail autour.
Naveen Kumar V

6
Je reçois toujours cela dans VS2019.
philu

46

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

Décochez le paramètre Déboguer -> Options -> Supprimer l'optimisation JIT lors du chargement du module (géré uniquement)

C'est la solution de contournement. Ils continuent en disant plus tard:

Nous recommandons aux gens de ne pas cocher cette case, car elle améliorera à la fois les performances et le comportement de mon code uniquement dans des scénarios spécifiques.

Enfin, la reconnaissance:

C'est un bogue que cela ne fonctionne pas avec ce paramètre activé et nous travaillons sur un correctif pour cette situation au cas où certains clients voudraient toujours déboguer avec ce paramètre activé.

Mise à jour : Sur la base des commentaires, il semble que la case soit désormais désactivée par défaut pour certains développeurs, et que sa vérification peut résoudre exactement le même problème dans certains cas. Très étrange.


39
Dans ma situation, j'ai dû faire exactement le contraire. J'ai dû cocher la case correspondant au paramètre mentionné ci-dessus. Tout cela est très étrange.
dyslexicanaboko

2
Identique à dyslexicanaboko - j'avais coché la case pour supprimer le message.
Jay Cummins

5
Même problème sur la version d'avril de Visual Studio 2017, il a fallu cocher la case
Rafael

1
Je vote pour non pas parce que la réponse a fonctionné, mais parce que le premier commentaire sur la réponse est ce qui a fonctionné! Et cela mérite d'être souligné. (Notez également que le lien externe est mort. Il vous amène à une page «Microsoft Connect a été retiré».)
Désillusionné le

Merci pour le commentaire Craig. J'ai fait une petite modification en fonction de vos commentaires. J'espère que cela aidera les autres à aller de l'avant!
Nate Cook

25

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

Merci,


2
Après tant d'efforts, j'ai trouvé que c'était la cause première. Étrangement, activer le code d'optimisation Visual Studio pense que son mode Release et même les points d'arrêt ne fonctionnent pas. Tout ce qui concerne le débogage s'effondre.
Morse

1
Tu m'as sauvé la vie. Tu es un dieu.
SamyCode

12

J'ai résolu le problème en définissant la configuration sur Debug dans la fenêtre Configuration Manager , comme suggéré dans cette réponse .

entrez la description de l'image ici


Ce n'est pas la valeur par défaut (quelqu'un a dû sérieusement gâcher vos configurations pour que cela se produise!), Et la plupart d'entre nous l'ont déjà vérifié. (C'était la première chose que j'ai vérifiée de toute façon.) - Comme l'OP l'a dit, il construit définitivement en mode débogage, et je sais que je fais également une version de débogage réelle - construit en mode débogage, avec les optimisations désactivées, débogage déclaré, un PDB valide est généré, etc.
BrainSlugs83

1
C'est bien que vous ayez mis ça ici Fabricio, je parie qu'il y a beaucoup de gens qui ont raté celui-là aussi.
Molibar

11

Le nettoyage (et la reconstruction) de la solution fonctionne pour moi comme une solution de contournement temporaire. Vous pouvez également sélectionner Déboguer> Options et décocher la Suppress JIT optimizationcase.


VS 2017 ver 15.1 m'a donné la fausse erreur ("débogage d'une version de version"). Nettoyer et reconstruire l'a fait disparaître.
DeveloperDan

Visual Studio 2015 Update 3, j'obtenais cette erreur lorsque la case Supprimer JIT était décochée. Le sélectionner a résolu le problème.
Saravanan Sachi

6

J'ai eu le même problème depuis la mise à jour vers VS2015 Update 1.

J'ai 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 de contournement, 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 ce n'est pas à cause de la décocher de l'option Modifier et continuer. Solution de contournement la plus rapide que je puisse trouver jusqu'à ce que le bogue soit corrigé:

  • Faites un clic droit sur l'icône IIS Express dans la barre d'état et quittez-la après le débogage (crédit à David Totzke qui a fourni une solution de contournement sur le rapport de bogue)

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


2
La solution de contournement actuelle que j'utilise est Solution de nettoyage, suivie de Démarrer le débogage.
Jerad Rose

1
Soit dit en passant, je dois parfois tuer iisexpress; quitter le menu contextuel ne le fait pas mourir
Mark Sowul

3

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 n'ai plus ce dialogue.


2
Déjà essayé cela, n'a pas aidé. Obtenez le même problème sur un tout nouveau projet.
John T du

J'étais sur le point de publier cette réponse également :) Cela a fait l'affaire pour moi (VS2015 Update 3).
Caio Campos

3

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


A travaillé pour moi aussi.
Rahatur

1

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


4
Désolé, non, comme je le dis, rien n'est défini sur Release - toutes les configurations sont Debug. L'exécution après un nettoyage NE montre PAS l'erreur. L'arrêt immédiat et la réexécution montrent l'erreur - RIEN n'a changé entre les deux, y compris le projet PAS MÊME REBUILDING.
John T

1

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

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


1

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

Dans mon cas, le message d'erreur était correct. J'exécutais une application qui chargeait 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 me rends compte que je me fais passer pour un idiot. Mais parfois, le problème est exactement ce qui est signalé.


0

Vérifiez que l'URL du projet IIS pointe réellement là où vous 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'avais exécuté une version temporaire d'une base de code de production et j'avais repointé le dossier dans IIS vers la version temporaire, qui était, en fait, exécutant une version de production, pas la version de débogage que j'essayais de déboguer.


0

Pour moi, j'ai trouvé 3 références de dossier \ Release \ dans ce fichier FileListAbsolute.txt:

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

Ils étaient comme ça:

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

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

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

Et simplement supprimer ces 3 lignes en dehors de VS, puis rouvrir la solution a résolu le problème. J'espère que cela pourra aider.


0

J'ai essayé toutes les réponses, et celle qui a fonctionné pour moi est de supprimer un package NuGet, pas seulement la référence, mais de supprimer le package, 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 la raison, mais c'est ce qui a résolu mes problèmes, j'espère que cela pourrait aider quelqu'un là-bas.


0

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


0

Voici ce qui a fonctionné pour moi.

S'il s'agit d'un projet Web, accédez aux propriétés du projet du projet Web et

  1. Si IIS local est sélectionné, redémarrez votre serveur IIS.
  2. Si IIS Express est sélectionné, quittez IIS Express à partir de l'icône de la barre des tâches.

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


0

Cela s'est produit dans Visual Studio 2019 sur une application UWP. La non-vérification du code d’optimisation dans les paramètres de csproj / build a résolu le problème.


-1

À peu près sûr que cela a été corrigé dans Visual Studio 2015 Update 2.

J'avais l'habitude de voir cela tout le temps (plusieurs fois par jour) et je ne l'ai pas vu une seule fois depuis la mise à jour vers la mise à jour 2.


4
Certainement pas. Je reçois tout d'un coup sur VS 2015 Update 3.
jpmc26

1
Je n'ai pas dit qu'ils ne l'avaient pas encore cassé dans la mise à jour 3.;)
Jerad Rose

J'ai la mise à jour 2 sur un dev. boîte en ce moment, et je le vois toujours. - Je ne le vois pas sur ma mise à jour 3 box. : - /
BrainSlugs83
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.