Le module suivant a été créé avec les optimisations activées ou sans informations de débogage


139

Je ne peux pas m'en débarrasser dans mon projet Web VS 2008 lors du débogage. J'ai vérifié qu'il était en mode débogage sur le projet non Web en question et qu'il était en mode actif (débogage). Supprimé tous les éléments de mon dossier temporaire .NET 2.0 dans Windows. Je ne sais pas quoi faire d'autre ici.

Réponses:


187

Essayez de désactiver "Activer uniquement mon code" dans Outils / Options / Débogage / Options.


J'ai fait ça et ça a marché. J'ai pu utiliser des points d'arrêt et parcourir le code. Je ne comprends pas. Pourquoi ça a marché? (Je déboguais un module C ++ managé référencé par un service Win utilisant VS2010)
tzup

Je viens d'avoir ce problème et votre solution a fonctionné pour moi. Merci!
Colin O'Dell

5
Cela fonctionne mais peut provoquer des effets secondaires indésirables lors du débogage: blogs.devsource.com/devlife/content/net_general/…
user276648

2
Dans VS2010, cette case à cocher se trouve dans Débogage> Options et paramètres, puis sous Débogage> Général
Cookie

Cela fonctionne en raison de la reconstruction des options? Quel est le problème. J'ai résolu le problème, mais pourquoi?
jeremy.bass

83

J'ai eu le même problème et j'ai découvert que je ne sortais pas mes informations de débogage sur ma version. Si vous faites un clic droit sur le projet et allez dans «propriétés», puis sélectionnez l'onglet «construction», en bas de la page, il y a un bouton «Avancé ...» qui affichera votre paramètre pour vous sortir des informations de débogage. Réglez-le sur «plein» et l'erreur devrait disparaître.

entrez la description de l'image ici


1
C'est la bonne réponse. Vous devriez afficher des informations de débogage «complètes» lorsque vous souhaitez déboguer votre application localement en mode développement. Vous devriez faire cela plutôt que la réponse «Activer juste mon code» car cette réponse peut avoir des effets secondaires involontaires (comme indiqué ci-dessus).
Tod Thomson

1
@Tod Thomson, je ne sais pas pourquoi vous prétendez que c'est la bonne réponse, car je vois le message tout à l'heure en déboguant mon application Web et en essayant d'entrer dans une bibliothèque de classes, donc très similaire à la configuration décrite dans la question. Mon paramètre d' informations de débogage est complet et je n'ai aucune raison de croire qu'il a jamais été différent.
R. Schreurs

1
@ R.Schreurs J'ai essayé tout le reste sur cette page et la seule chose qui a fonctionné pour moi était cette réponse. Si cela ne fonctionne pas pour vous, n'hésitez pas à essayer autre chose ici / à fournir une réponse de votre choix.
Tod Thomson

C'est une erreur Microsoft. Ne dites pas «devrait». Sauf si vous dites "L'erreur devrait disparaître, mais c'est Microsoft donc vous devriez repenser votre vie"
user1566694

24

Je viens de rencontrer ce problème et j'ai rapidement décidé que les autres réponses publiées ne s'appliquaient pas à moi.

désactiver

Je suis le propriétaire du projet et je sais qu'il a été construit avec des informations de débogage, ainsi que sans optimisations. De plus, je ne suis jamais content de choisir la désactivation d'un avertissement comme premier choix. Masquer / ignorer cet avertissement pourrait devenir un problème lors d'une future session de débogage.

Étant donné que cela n'a commencé qu'après avoir signé l'assembly , cela m'a éclairé sur ma solution rapide: supprimer temporairement le nom fort de ma DLL (et consommer EXE). Voila! Problème résolu.

Une meilleure solution à long terme pourrait prendre la forme de l'ajout d'une action post-build pour mettre à jour le GAC afin qu'il dispose de la dernière version de la DLL signée.

Mais pour l'instant, je suis heureux de quitter cette diversion et de continuer à travailler sur le problème qui m'a amené à cette session de débogage.


4
J'étais dans une situation similaire à vous, mais j'ai choisi la solution de facilité ... J'ai désinstallé le programme qui mettait cette DLL dans le GAC, car c'était juste l'ancienne version de ce que je déboguais.
SeeMoreGain

2
Également +1 pour avoir recommandé de corriger la source du problème plutôt que d'activer simplement une solution de contournement comme toutes les autres suggérant de décocher "Activer uniquement mon code"
SeeMoreGain

17

résolu. Supprimé toutes les occurrences (tous les projets) de la DLL en question.


1
J'ai fermé toutes les sessions VS / VWD où les projets référencés et ma solution active étaient ouverts. Ensuite, j'ai supprimé CHAQUE instance des dlls problématiques et leurs pdbs compagnons. Ensuite, j'ai tout supprimé sous l'emplacement du site Web de débogage temporaire dans la structure du framework .NET (pour ce projet, il s'agissait de C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Fichiers ASP.NET temporaires [myWebsite]). Cela m'a donné une erreur «fichier en cours d'utilisation» sur l'une des versions antérieures jusqu'à ce que je ferme VWD. Ensuite, j'ai rouvert le projet et corrigé toutes les erreurs et avertissements en suspens dans le code du projet. Ce n'est qu'alors que l'erreur a disparu.
BH

14

VS2012, nettoyer et reconstruire a résolu le problème pour moi. "Propriétés" -> "Construire" -> Optimiser le code n'est pas coché. "Propriétés" -> "Construire" -> "Avancé" -> Infos de débogage: Complet


devons-nous modifier les paramètres
kbvishnu

Cela a fonctionné pour moi lors du débogage d'un complément Visual Studio 2010. Auparavant était défini sur none.
Sabuncu



7

Deviner VS 2008 ne reconstruit pas correctement la DLL.

1) Supprimer toutes les occurrences de la dll

2) Solution de reconstruction

Et cela devrait le réparer.


J'ai supprimé le répertoire bin de mon application Web, puis tout reconstruire. Cela a réglé le problème!
Captain Sensible

6

Vérifiez vos options de configuration de construction. Assurez-vous que les optimisations sont désactivées et que la constante DEBUG est définie.


La construction est sélectionnée et les optimisations sont définitivement désactivées.

6

Si tout le reste échoue, essayez de renommer le nom de l'assembly dans les propriétés du projet. Cela a résolu le problème pour moi.


Après avoir passé des heures à parcourir Internet en essayant tout ce que je suis tombé, cela a fonctionné. Quelque chose doit être mis en cache?
Chris R

6

Je reçois également ce problème, pour une raison quelconque, il est arrivé 3 ou 4 fois; Je pense que ce doit être un bug / hick up de Visual Studio 2005 (ou du moins mon installation).

Cela a fonctionné à chaque fois: pour y remédier, je

  1. Faites un clic droit sur ma solution et cliquez sur Propriétés.
  2. Ouvrez Configuration Manager.
  3. Sélectionnez Déboguer dans le menu déroulant (s'il n'est pas déjà sélectionné).
  4. Décochez BUILD. Puis revérifiez-le.
  5. Reconstruisez la solution.

4

Outils> options> Débogage> Symboles> Spécifier les modules exclus semblent que si la DLL ou l'exe dans la liste des modules exclus


3

Au moins pour les applications non Web, cela fonctionne:

De: http://www.stellarpc.com/articles/board.aspx?id=40

2 - Autoriser le débogage ...

En raison de la nature dans laquelle l'un des assemblys a été généré dans votre application, vous devrez modifier quelques paramètres pour permettre au code d'être géré par le débogueur Visual Studio.

Cliquez avec le bouton droit sur n'importe quel projet en question dans l'explorateur de solutions et sélectionnez «Propriétés». Cela ouvrira le panneau des propriétés du projet, nous donnant accès à un grand nombre d'options pour nos projets. Accédez à l'onglet 'Complile' (ou 'Build' si vous êtes dans un environnement C #) et sélectionnez 'Advanced Compile Options ...' en bas de l'écran. Cela nous présente une invite qui présente deux domaines d'intérêt clés:

1) Optimisations - décochez "Activer les optimisations"

2) Générer les informations de débogage - Assurez-vous que l'option est définie sur `` Complet ''


Intéressant ... J'ai configuré mes projets de cette manière, et même avec cette configuration, le message apparaît toujours. Donc ce n'est pas encore la solution ultime
Junior Mayhé

3

J'ai eu ce problème avec une solution dans un certain dossier, mais si je l'ai déplacé vers un autre dossier ou si d'autres l'ont construit, je n'ai pas reçu le message. J'ai fait le nettoyage, la reconstruction et même le redémarrage et je ne pouvais toujours pas déboguer l'original sans ce message. J'ai recherché dans mon système des copies du fichier à l'origine de l'erreur et j'ai constaté que des copies étaient conservées dans

c: \ Utilisateur \ nom d'utilisateur \ AppData \ Local \ Assembly \ dl3

C'était sur Win7-64 mais sera similaire sur d'autres systèmes d'exploitation Windows. J'ai supprimé toutes les copies que j'y ai trouvées et je ne reçois plus le message. Je n'ai pas eu besoin de décocher la case "Activer juste mon code".

De plus, c'était pour une application WPF, mais je suis tombé sur ce fil dans ma recherche, donc j'espère que cela aidera quelqu'un d'autre.


3

J'ai pu résoudre ce problème en suivant ces étapes:

  1. Faites un clic droit sur la solution (pas sur le projet) et sélectionnez 'Propriétés'
  2. Dans le panneau de gauche, sélectionnez «Propriétés de configuration»
  3. Dans le panneau de droite, sélectionnez «Déboguer» dans la colonne «Configuration» de votre projet

Si vous ne voyez pas la solution répertoriée dans l'Explorateur de solutions, procédez comme suit:

  1. Dans la barre de menu, allez dans Outils -> Options
  2. Dans le panneau de gauche, sélectionnez «Projets et solutions» (vous devrez peut-être cocher «Afficher tous les paramètres» en bas à gauche de la fenêtre
  3. Dans le panneau de droite, cochez "Toujours afficher la solution"

J'espère que ça aide.


2

Moi aussi j'ai tout ça. Et j'ai fait tout ça. Il semble que cela m'arrive chaque fois que je reçois une nouvelle copie de la solution entière hors du contrôle de code source. Donc, si nous avons fait tout cela, supprimez les dll et les fichiers .pdb pour toutes les références (assemblages) dans le projet Web, utilisé l'option de nettoyage sur la solution, supprimé les fichiers temporaires, fermé VS et rouvert, assurez-vous que le mode de débogage est sélectionné et mis à plein et les optimisations sont désactivées, que reste-t-il de plus?!?!?!


J'ai aussi désespérément besoin d'une solution. Il ne peut même pas générer un fichier pdb.
xar

2

J'ai eu le même problème sur mon projet Web dans Visual Studio 2010, et j'ai finalement trouvé la raison pour laquelle je recevais ce message. Ce que j'ai fait a été de modifier une option de débogage existante sur Visual studio:

  • Allez dans Outils-> Options-> Débogage-> Symboles-> Tous les modules
  • Cochez la case d'option "sauf exclusion"
  • Cliquez sur le lien "Spécifier les modules exclus", puis supprimez la DLL que vous souhaitez déboguer.

Dans mon cas, c'était mon fichier dll Web ...


2

J'ai eu ceci en essayant de déboguer à distance une application sur un ordinateur qui appartient à un sous-réseau différent. J'ai pu déboguer et parcourir le code lors de son exécution sur le réseau si les machines étaient sur le même sous-réseau. Après avoir changé le sous-réseau, je n'étais pas capable de passer à travers lors de l'exécution à partir du réseau et obtenais le "Le module suivant a été construit avec des optimisations activées ou sans informations de débogage".

La solution? Facile. Copiez la solution intégrée sur la machine hébergeant le débogage à distance et exécutez-la localement.


2

Si cela m'était arrivé sur un projet winForms VS 2010. Voyant que la majorité des gens ici ont des projets Web, je pense que cela a à voir avec l'accès au dossier dans lequel le projet est stocké. Je dis cela parce que lorsque ce problème m'est arrivé, Google Drive synchronisait le dossier dans lequel je garde mes projets. Il semble que la simple désactivation de la synchronisation ne résout pas le problème.

Ma solution est similaire à l'une des réponses ci-dessus:

  • Je suis allé à "Propriétés du projet> Compiler> Options de compilation avancées"
  • Coché "Activer l'optimisation"
  • Définissez "Informations générales de débogage:" sur "Aucune"
  • Décochée "Définir la constante DEBUG"
  • Et pressé OK
  • Puis est retourné en arrière et a renvoyé les options à leur état initial.

J'espère que cela aide quelqu'un car il semble que cela se produise encore.


2

Suivez ceci: (premier STOP débogage)
1: clic droit sur le nom de la solution du projet ou du projet -> Propriétés
2: sous Propriétés de configuration sélectionnez Configuration Manager
3: Changer la configuration pour déboguer et cliquer sur fermer
4: Changer la configuration pour déboguer et cliquer sur Appliquer - > OK
Maintenant, reconstruisez la solution ....!


1

Pour moi, cocher la case "Optimiser le code" dans les propriétés du projet, l'enregistrer, la décocher, puis la réenregistrer l'ont fait pour moi.

La désactivation de «Activer uniquement mon code» fonctionnait également, mais c'était plus une solution de contournement qu'un correctif car je ne voulais pas de ce paramètre.


1

J'ai eu le même problème, mais avec une cause et une solution différentes. La fenêtre était la même que celle affichée par Gustavo (ci-dessus) mais le chemin était dans: "\ users \ zzz \ AppSettings ..." (où zzz est le nom d'utilisateur de Windows)

J'avais un addin Excel - je testais l'installation de l'addin, donc j'avais une copie installée via la fonction d'installation VS. VS essayait évidemment de déboguer à la fois la copie installée et la copie que je venais de lancer, et ne pouvait pas trouver de symboles de débogage sur la copie installée.

Aucune des solutions ci-dessus n'a fonctionné (sans effets secondaires),

SOLUTION: la désinstallation de l'addin et la suppression manuelle des fichiers dans les paramètres de l'application ont fonctionné.


0

Vous avez mentionné que c'est un projet Web ... avez-vous

<compilation debug="true />

dans votre web.config?


0

J'ai eu le même problème après la construction avec une configuration Release. Il s'est avéré que lorsque je suis revenu au débogage, VS ne détectait aucune différence, il ne mettait donc pas à jour les fichiers .dll et .pdb dans le dossier bin.

Voici ce qui a fonctionné pour moi:

  1. Exécutez iisreset (pour nettoyer les dossiers temporaires)
  2. Enregistrez le web.config (pour forcer VS à se reconstruire)
  3. Reconstruire au débogage
  4. Démarrez le projet

Pourquoi n'avez-vous pas simplement utilisé la commande Rebuild dans le menu Build? Cela force la reconstruction de tous les modules, que des modifications soient détectées ou non.
Ron

@Ron désolé, je ne me souviens pas de tous les détails d'il y a quelque temps, je pense qu'il y avait un problème avec cette version et la reconstruction à partir du menu de construction n'effaçait pas les fichiers comme prévu.
bubbassauro


0

Mon cas est le suivant: webservice référencé lib1.dll. Plus tard, j'ai supprimé la référence car elle n'était plus utilisée. Cependant lib1.dll est resté dans le dossier bin. Comme la bibliothèque n'était pas référencée, les actions de reconstruction et de nettoyage n'étaient pas utiles. Après avoir supprimé manuellement lib1.dll du dossier bin, je me suis débarrassé de ce message.


0

Si vous publiez sur IIS et n'utilisez pas de serveur Web intégré -ou IIS express- assurez-vous que vos paramètres de profil de publication sont en mode débogage. Dans vs 11 par défaut, il est en mode version.


0

Juste pour ajouter, je regardais ce blog pour trouver la solution au même problème auquel je faisais face. Malheureusement, les solutions mentionnées ci-dessus ne m'ont pas aidé. Enfin, j'ai compris, j'installais mes bits (avec .pdb) via le programme d'installation et en définissant explicitement l'autorisation sur le dossier d'installation.

À cause de quoi VS n'a pas pu charger le pdb même si le navigateur de fichiers affichait le fichier correct, mais il donnait la même erreur mentionnée ci-dessus.

Une fois que j'ai décoché "Activer juste mon code" et supprimé les paramètres d'autorisation du programme d'installation, VS a commencé à charger le module.


0

La seule configuration qui a fonctionné pour moi était la suivante

Projet -> (Votre projet) Propriétés -> Onglet Déboguer assurez-vous que la configuration est définie sur Actif (Débogage) Sous «Débogueurs incapables», assurez-vous que «Activer le débogage de code non géré» est coché


0

Je crée un service Windows et voici ce qui a fonctionné pour moi:

  • Désinstallez le service.
  • Ouvrez une invite de commande et accédez à c: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319
  • installutil C: \ MyFantabulusWindowService \ bin \ Debug \ MyFantabulusWindowService.exe

La grandeur a été atteinte!


0

Cas: test de l'assemblage avec le projet Console dans le développement SharePoint - si vous faites du développement SharePoint et que vous voyez cette alerte dans VS, assurez-vous de déployer votre assembly SP sur le GAC avant de tester votre application console SI votre projet SP principal a des méthodes dont vous avez besoin appelez votre application de test de console.

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.