Das folgende Modul wurde entweder mit aktivierten Optimierungen oder ohne Debug-Informationen erstellt


139

Ich kann dies in meinem VS 2008-Webprojekt beim Debuggen nicht beseitigen. Ich habe überprüft, ob es sich bei dem betreffenden Nicht-Web-Projekt im Debug-Modus befindet und sich im aktiven Modus (Debug) befindet. Alle Elemente in meinem temporären .NET 2.0-Ordner in Windows gelöscht. Ich bin mir nicht sicher, was ich hier sonst noch tun soll.

Antworten:


187

Versuchen Sie, "Nur meinen Code aktivieren" unter Extras / Optionen / Debugging / Optionen zu deaktivieren.


Ich habe das gemacht und es hat funktioniert. Ich konnte Haltepunkte verwenden und Code durchlaufen. Ich verstehe es nicht Warum hat es funktioniert? (Ich habe ein verwaltetes C ++ - Modul, auf das von einem Win-Dienst verwiesen wird, mit VS2010 debuggt)
tzup

Ich hatte gerade dieses Problem und Ihre Lösung hat für mich funktioniert. Vielen Dank!
Colin O'Dell

5
Es funktioniert, kann aber einige unerwünschte Nebenwirkungen beim Debuggen verursachen: blogs.devsource.com/devlife/content/net_general/…
user276648

2
In VS2010 befindet sich dieses Kontrollkästchen unter Debug> Optionen und Einstellungen, dann unter Debugging> Allgemein
Cookie

Dies funktioniert aufgrund der Neuerstellung der Optionen? Was ist das Problem. Ich habe das Problem gelöst, aber warum?
jeremy.bass

83

Ich hatte das gleiche Problem und stellte fest, dass ich meine Debug-Informationen für meinen Build nicht ausgab. Wenn Sie mit der rechten Maustaste auf das Projekt klicken und zu "Eigenschaften" gehen, wählen Sie die Registerkarte "Erstellen". Am unteren Rand der Seite befindet sich eine Schaltfläche "Erweitert ...", auf der Ihre Einstellung für die Ausgabe von Debug-Informationen angezeigt wird. Setzen Sie das auf "voll" und der Fehler sollte verschwinden.

Geben Sie hier die Bildbeschreibung ein


1
Dies ist die richtige Antwort. Sie sollten "vollständige" Debug-Informationen ausgeben, wenn Sie Ihre Anwendung lokal im Entwicklungsmodus debuggen möchten. Sie sollten dies anstelle der Antwort "Nur meinen Code aktivieren" tun, da diese Antwort unbeabsichtigte Nebenwirkungen haben kann (wie oben angegeben).
Tod Thomson

1
@Tod Thomson, ich bin mir nicht sicher, warum Sie behaupten, dass dies die richtige Antwort ist, da ich die Meldung gerade beim Debuggen meiner Webanwendung und beim Versuch, eine Klassenbibliothek einzugeben, sehe, die der in der Frage beschriebenen Konfiguration sehr ähnlich ist. Meine Debug-Info- Einstellung ist voll und ich habe keinen Grund zu der Annahme, dass es jemals anders war.
R. Schreurs

1
@ R.Schreurs Ich habe alles andere auf dieser Seite ausprobiert und das einzige, was für mich funktioniert hat, war diese Antwort. Wenn es bei Ihnen nicht funktioniert, können Sie hier etwas anderes ausprobieren / eine eigene Antwort geben.
Tod Thomson

Es ist ein Microsoft-Fehler. Sag nicht "sollte". Es sei denn, Sie sagen "Der Fehler sollte
verschwinden,

24

Ich bin gerade auf dieses Problem gestoßen und habe schnell festgestellt, dass die anderen Antworten nicht auf mich zutreffen.

deaktivieren

Ich bin der Eigentümer des Projekts und ich weiß, dass es mit Debug-Informationen sowie ohne Optimierungen erstellt wurde. Außerdem bin ich nie glücklich, die Deaktivierung einer Warnung als meine erste Wahl zu wählen. Das Ausblenden / Ignorieren dieser Warnung kann in einer zukünftigen Debugging-Sitzung zu einem Problem werden.

Da dies erst nach dem Signieren der Assembly auftrat , gab mir dies einen Hinweis auf meine schnelle Lösung: Entfernen Sie vorübergehend den starken Namen meiner DLL (und verbrauchen Sie EXE). Voila! Problem gelöst.

Eine bessere, langfristige Lösung könnte darin bestehen, eine Post-Build-Aktion hinzuzufügen, um das GAC so zu aktualisieren, dass es die neueste Version der signierten DLL enthält.

Aber im Moment bin ich froh, von dieser Ablenkung fortzufahren und weiter an dem Problem zu arbeiten, das mich zu dieser Debugging-Sitzung gebracht hat.


4
Ich befand mich unter ähnlichen Umständen wie Sie, habe aber den einfachen Ausweg gewählt ... Ich habe das Programm deinstalliert, das diese DLL in den GAC gestellt hat, da es nur die ältere Version von dem war, was ich debuggte.
SeeMoreGain

2
Auch +1 für die Empfehlung, die Ursache des Problems zu beheben, anstatt nur eine Problemumgehung wie alle anderen zu aktivieren, und das Deaktivieren von "Nur meinen Code
aktivieren

17

aufgelöst. Alle Vorkommen (alle Projekte) der betreffenden DLL gelöscht.


1
Ich habe alle VS / VWD-Sitzungen geschlossen, in denen die referenzierten Projekte und meine aktive Lösung geöffnet waren. Dann habe ich JEDE Instanz der Problem-DLLs und ihrer begleitenden PDFs gelöscht. Als Nächstes habe ich alles unter dem Speicherort der temporären Debug-Website in der .NET Framework-Struktur gelöscht (für dieses Projekt war es C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporäre ASP.NET-Dateien [myWebsite]). Dies gab mir einen Fehler "Datei in Verwendung" in einer der früheren Versionen, bis ich VWD schloss. Dann habe ich das Projekt erneut geöffnet und jeden ausstehenden Fehler und jede Warnung im Projektcode behoben. Erst dann verschwand der Fehler.
BH

14

VS2012, Clean and Rebuild hat das Problem für mich behoben. "Eigenschaften" -> "Erstellen" -> Code optimieren ist deaktiviert. "Eigenschaften" -> "Build" -> "Erweitert" -> Debug-Info: Voll



Dies hat bei mir beim Debuggen eines Visual Studio 2010-Add-Ins funktioniert. Zuvor wurde auf gesetzt none.
Sabuncu

Hat bei mir nicht funktioniert, aber nach dem Löschen der Ordner bin und obj hat die saubere und neu erstellte Lösung wieder funktioniert :)
QMaster


7

Vermutung VS 2008 erstellt die DLL nicht korrekt neu.

1) Löschen Sie alle Vorkommen der DLL

2) Lösung neu erstellen

Und das sollte es beheben.


Ich habe das bin-Verzeichnis meiner Web-App gelöscht und anschließend alle neu erstellt. Das hat es behoben!
Captain Sensible

6

Überprüfen Sie Ihre Build-Konfigurationsoptionen. Stellen Sie sicher, dass die Optimierungen deaktiviert und die DEBUG-Konstante definiert sind.


Build ist ausgewählt und Optimierungen sind definitiv deaktiviert.

6

Wenn alles andere fehlschlägt, benennen Sie den Assembly-Namen in den Projekteigenschaften um. Dies hat das Problem für mich behoben.


Nachdem ich stundenlang im Internet nach allem gesucht hatte, was mir begegnet war, funktionierte dies. Muss etwas zwischengespeichert werden?
Chris R

6

Ich bekomme auch dieses Problem, aus irgendeinem Grund ist es 3 oder 4 Mal passiert; Ich denke, es muss ein Visual Studio 2005-Fehler sein (oder zumindest meine Installation).

Das hat jedes Mal geklappt: um es zu beheben ich

  1. Klicken Sie mit der rechten Maustaste auf meine Lösung und klicken Sie auf Eigenschaften.
  2. Öffnen Sie Configuration Manager.
  3. Wählen Sie im Dropdown-Menü die Option Debuggen (falls noch nicht ausgewählt).
  4. Deaktivieren Sie BUILD. Überprüfen Sie es dann erneut.
  5. Erstellen Sie die Lösung neu.

4

Extras> Optionen> Debugging> Symbole> Ausgeschlossene Module angeben sehen so aus, als ob die DLL oder die Exe in der Liste der ausgeschlossenen Module stehen


3

Zumindest für Nicht-Webanwendungen funktioniert dies:

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

2 - Debuggen zulassen ...

Aufgrund der Art, in der eine der Assemblys in Ihrer Anwendung erstellt wurde, müssen Sie einige Einstellungen ändern, damit der Code vom Visual Studio-Debugger verarbeitet werden kann.

Klicken Sie im Lösungs-Explorer mit der rechten Maustaste auf ein bestimmtes Projekt und wählen Sie "Eigenschaften". Dadurch wird das Projekteigenschaftenfenster geöffnet, in dem wir auf zahlreiche Optionen für unsere Projekte zugreifen können. Navigieren Sie zur Registerkarte "Kompilieren" (oder "Erstellen", wenn Sie sich in einer C # -Umgebung befinden) und wählen Sie am unteren Bildschirmrand "Erweiterte Kompilierungsoptionen ..." aus. Dies gibt uns eine Eingabeaufforderung, die zwei Hauptinteressenbereiche hat:

1) Optimierungen - Deaktivieren Sie "Optimierungen aktivieren".

2) Debug-Informationen generieren - Stellen Sie sicher, dass die Option auf "Voll" gesetzt ist.


Interessant ... Ich habe meine Projekte auf diese Weise konfiguriert, und selbst bei dieser Konfiguration wird die Meldung weiterhin angezeigt. Dies ist also noch nicht die ultimative Lösung
Junior Mayhé

3

Ich hatte dieses Problem mit einer Lösung in einem bestimmten Ordner, aber wenn ich es in einen anderen Ordner verschoben oder von anderen erstellt habe, habe ich die Nachricht nicht erhalten. Ich habe das Original bereinigt, neu erstellt und sogar neu gestartet und konnte das Original ohne diese Meldung immer noch nicht zum Debuggen bringen. Ich habe mein System nach Kopien der Datei durchsucht, die den Fehler verursacht haben, und festgestellt, dass Kopien darin aufbewahrt wurden

c: \ Benutzer \ Benutzername \ AppData \ Local \ Assembly \ dl3

Dies war unter Win7-64, wird aber unter anderen Windows-Betriebssystemen ähnlich sein. Ich habe alle dort gefundenen Kopien gelöscht und bekomme die Nachricht nicht mehr. Ich musste das Kontrollkästchen "Nur meinen Code aktivieren" nicht deaktivieren.

Dies war auch für eine WPF-App, aber ich bin bei meiner Suche auf diesen Thread gestoßen. Hoffentlich hilft dies jemand anderem.


3

Ich konnte dieses Problem folgendermaßen beheben:

  1. Klicken Sie mit der rechten Maustaste auf die Lösung (nicht auf das Projekt) und wählen Sie "Eigenschaften".
  2. Wählen Sie im linken Bereich "Konfigurationseigenschaften" aus.
  3. Wählen Sie im rechten Bereich "Debug" in der Spalte "Konfiguration" für Ihr Projekt aus

Wenn die im Projektmappen-Explorer aufgelistete Lösung nicht angezeigt wird, gehen Sie folgendermaßen vor:

  1. Gehen Sie in der Menüleiste zu Extras -> Optionen
  2. Wählen Sie im linken Bereich "Projekte und Lösungen" aus (möglicherweise müssen Sie "Alle Einstellungen anzeigen" im unteren linken Bereich des Fensters aktivieren
  3. Aktivieren Sie im rechten Bereich die Option "Lösung immer anzeigen".

Ich hoffe das hilft.


2

Ich habe auch alle diese. Und ich habe das alles getan. Es scheint, dass mir dies jedes Mal passiert, wenn ich eine neue Kopie der gesamten Lösung aus der Quellcodeverwaltung bekomme. Wenn wir also all dies getan haben, DLLs und PDF-Dateien für alle Referenzen (Assemblies) im Webprojekt gelöscht, die Bereinigungsoption für die Lösung verwendet, temporäre Dateien gelöscht, VS geschlossen und erneut geöffnet haben, haben Sie sichergestellt, dass der Debug-Modus ausgewählt ist und voll eingestellt und Optimierungen sind aus, was gibt es noch?!?!?!


Ich bin auch verzweifelt nach einer Lösung. Es kann nicht einmal eine PDF-Datei generiert werden.
Xar

2

Ich hatte das gleiche Problem in meinem Webprojekt in Visual Studio 2010 und fand schließlich den Grund, warum ich diese Nachricht erhielt. Ich habe eine vorhandene Debugging-Option in Visual Studio geändert:

  • Gehen Sie zu Extras-> Optionen-> Debugging-> Symbole-> Alle Module
  • Aktivieren Sie das Optionsfeld "sofern nicht ausgeschlossen"
  • Klicken Sie auf den Link "Ausgeschlossene Module angeben" und entfernen Sie die DLL, die Sie debuggen möchten.

In meinem Fall war es meine Web-DLL-Datei ...


2

Ich hatte dies beim Versuch, eine Anwendung auf einem Computer, der zu einem anderen Subnetz gehört, remote zu debuggen. Ich konnte den Code debuggen und durchlaufen, wenn ich ihn über das Netzwerk ausführte, wenn sich die Computer im selben Subnetz befanden. Nachdem ich das Subnetz geändert hatte, konnte ich beim Ausführen aus dem Netzwerk nicht durchgehen und bekam das "Das folgende Modul wurde entweder mit aktivierten Optimierungen oder ohne Debug-Informationen erstellt".

Die Lösung? Einfach. Kopieren Sie die erstellte Lösung auf den Computer, auf dem sich das Remote-Debugging befindet, und führen Sie sie lokal aus.


2

Wäre mir das bei einem VS 2010 winForms-Projekt passiert? Angesichts der Tatsache, dass die Mehrheit der Menschen hier Webprojekte hat, denke ich, dass dies mit dem Zugriff auf den Ordner zu tun hat, in dem das Projekt gespeichert ist. Ich sage dies, weil Google Drive bei Auftreten dieses Problems den Ordner synchronisierte, in dem ich meine Projekte aufbewahre. Es scheint, dass nur das Deaktivieren der Synchronisation das Problem nicht behebt.

Meine Lösung ähnelt einer der obigen Antworten:

  • Ging zu "Projekteigenschaften> Kompilieren> Erweiterte Kompilierungsoptionen"
  • Aktiviert "Optimierung aktivieren"
  • Setzen Sie "Allgemeine Debug-Informationen:" auf "Keine".
  • Deaktiviert "DEBUG-Konstante definieren"
  • Und drückte OK
  • Dann ging zurück und brachte die Optionen in ihren Ausgangszustand zurück.

Hoffe, das hilft jemandem, wie es scheint, passiert dies immer noch.


2

Gehen Sie wie folgt: (ersten STOP - Debugging)
1: Rechtsklick auf Projektlösung Namen oder Projekt -> Eigenschaften
2: unter Konfigurationseigenschaften wählen Configuration Manager
3: Ändern Konfiguration zu debuggen , und klicken Sie auf nahe
4: Ändern Konfiguration zu debuggen , und klicken Sie auf Übernehmen - > OK
Jetzt Lösung neu erstellen ....!


1

Für mich hat das Aktivieren des Kontrollkästchens "Code optimieren" in den Projekteigenschaften, Speichern, Deaktivieren und erneutes Speichern für mich getan.

Das Deaktivieren von "Nur meinen Code aktivieren" funktionierte ebenfalls, aber das war eher eine Umgehung als eine Korrektur, da ich diese Einstellung nicht wollte.


1

Ich hatte das gleiche Problem, aber mit unterschiedlicher Ursache und Lösung. Das Fenster war das gleiche wie das von Gustavo (oben) gezeigte, aber der Pfad war in: "\ users \ zzz \ AppSettings ..." (wobei zzz der Windows-Benutzername ist)

Ich hatte ein Excel-Add-In - Ich habe die Installation des Add-Ins getestet, also habe ich eine Kopie über die VS-Installationsfunktion installiert. VS versuchte offensichtlich, sowohl die installierte als auch die gerade gestartete Kopie zu debuggen, und konnte auf der installierten Kopie keine Debug-Symbole finden.

Keine der oben genannten Lösungen hat funktioniert (ohne Nebenwirkungen),

LÖSUNG: Das Deinstallieren des Add-Ins und das manuelle Löschen der Dateien in den App-Einstellungen hat funktioniert.


0

Sie haben erwähnt, dass es sich um ein Webprojekt handelt

<compilation debug="true />

in Ihrer web.config?


0

Ich hatte das gleiche Problem nach dem Erstellen mit einer Release-Konfiguration. Es stellte sich heraus, dass VS beim Wechsel zu Debug keine Unterschiede feststellte und daher die DLL- und PDB-Dateien im Ordner bin nicht aktualisierte.

Folgendes hat bei mir funktioniert:

  1. Führen Sie iisreset aus (um die temporären Ordner zu bereinigen).
  2. Speichern Sie die Datei web.config (um VS zu zwingen, tatsächlich neu zu erstellen).
  3. Beim Debug neu erstellen
  4. Starten Sie das Projekt

Warum haben Sie nicht einfach den Befehl "Neu erstellen" im Menü "Erstellen" verwendet? Dadurch müssen alle Module neu erstellt werden, unabhängig davon, ob Änderungen erkannt wurden oder nicht.
Ron

@ Ron Entschuldigung, ich erinnere mich nicht an alle Details, die vor einiger Zeit aufgetreten sind. Ich glaube, es gab ein Problem mit dieser Version und die Neuerstellung über das Build-Menü löschte die Dateien nicht wie erwartet.
Bubbassauro


0

Mein Fall ist folgender: Webservice referenziert lib1.dll. Später entfernte ich die Referenz, da sie nicht mehr verwendet wurde. Lib1.dll blieb jedoch im Ordner bin. Da auf die Bibliothek nicht verwiesen wurde, waren die Aktionen "Neu erstellen" und "Bereinigen" nicht hilfreich. Nachdem ich lib1.dll manuell aus dem Ordner bin gelöscht habe, habe ich diese Nachricht entfernt.


0

Wenn Sie auf IIS veröffentlichen und keinen integrierten Webserver oder IIS Express verwenden, stellen Sie sicher, dass sich Ihre Einstellungen für das Veröffentlichungsprofil im Debug-Modus befinden. In vs 11 ist es standardmäßig im Release-Modus.


0

Um es hinzuzufügen, ich habe in diesem Blog nach einer Lösung für das gleiche Problem gesucht, mit dem ich konfrontiert war. Leider haben mir die oben genannten Lösungen nicht geholfen. Endlich habe ich herausgefunden, dass ich meine Bits (zusammen mit .pdb) über das Installationsprogramm installiert und die Berechtigung explizit für den Installationsordner festgelegt habe.

Aufgrund dessen konnte VS die PDF-Datei nicht laden, obwohl der Dateibrowser die richtige Datei anzeigte, aber den oben genannten Fehler ausgab.

Nachdem ich "Nur meinen Code aktivieren" deaktiviert und die Berechtigungseinstellungen aus dem Installationsprogramm entfernt hatte, begann VS mit dem Laden des Moduls.


0

Die einzige Konfiguration, die für mich funktioniert hat, war die folgende

Projekt -> (Ihr Projekt) Eigenschaften -> Registerkarte "Debuggen" Stellen Sie sicher, dass die Konfiguration auf "Aktiv" (Debuggen) gesetzt ist. Stellen Sie unter "Debugger nicht aktivieren" sicher, dass "Debuggen von nicht verwaltetem Code aktivieren" aktiviert ist


0

Ich erstelle einen Windows-Dienst und hier ist, was für mich funktioniert hat:

  • Deinstallieren Sie den Dienst.
  • Öffnen Sie eine Eingabeaufforderung und wechseln Sie zu c: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319
  • installutil C: \ MyFantabulusWindowService \ bin \ Debug \ MyFantabulusWindowService.exe

Größe wurde erreicht!


0

Fall: Testen der Assembly mit dem Konsolenprojekt in der SharePoint-Entwicklung - Wenn Sie die SharePoint-Entwicklung durchführen und diese Warnung in VS sehen, stellen Sie sicher, dass Sie Ihre SP-Assembly im GAC bereitstellen, bevor Sie Ihre Konsolen-App testen, WENN Ihr SP-Kernprojekt über die erforderlichen Methoden verfügt Rufen Sie in Ihrer Konsolentest-App auf.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.