VS 2015 Update 1 - Ich behaupte, ich debugge einen Release-Build

97

Wenn ich nach dem Update auf VS 2015 Update 1 ein Webprojekt (MVC) ausführe, die Anwendung stoppe und dann erneut versuche, stoppt VS und öffnet einen Dialog, in dem behauptet wird

Sie debuggen einen Release-Build von <myproject.dll>.

Die Verwendung von Just My Code mit Release-Builds unter Verwendung von Compiler-Optimierungen führt zu einer verschlechterten Debugging-Erfahrung (z. B. werden Haltepunkte nicht erreicht).

Das Problem ist, dass ich keinen Release-Build ausführe. Ich verwende eindeutig den (gleichen) Debug-Build, den ich gerade ausgeführt habe! Warum glaubt VS, dass ich einen Release-Build ausführe?

Durch Reinigen der Lösung und erneutes Ausführen wird die Fehlermeldung gelöscht, sodass irgendwo etwas abgespritzt wird.

John T.
quelle
1
Würde gerne hören, wenn Sie dies behoben haben. Nach der Installation von Update 1 tritt genau das gleiche Problem auf. Durch das vorübergehende Reinigen / erneute Ausführen komme ich durch, aber beim nächsten Mal passiert es einfach erneut.
Jerad Rose
1
Leider habe ich nicht. Ich kommuniziere mit dem Microsoft-Support, der sich mit dem Problem befasst.
John T
2
Der Microsoft-Support hat das Problem reproduziert und untersucht es. Sobald ich höre, melde ich mich zurück / antworte.
John T
@JohnT Noch Glück?
Nick
@ Nick Eigentlich nein. Ich werde meinen Kontakt zurückpingen, um zu sehen, ob es ein Update gibt.
John T

Antworten:

58

Das Wort von Microsoft besagt, dass dies ein bekanntes Problem ist (es ging ursprünglich an das Debugger-Team, wurde jedoch als Build-Problem eingestuft und liegt nun in den Händen des Project-Systemteams. Es sind weitere Fehler zu diesem Problem offen, und es ist bewertet Priorität 1, sollte also für das nächste Update auf dem richtigen Weg sein. Obwohl zu erwarten, können keine Zusagen gemacht werden, wann es veröffentlicht wird (oder was tatsächlich im Update enthalten ist).

So. Es ist bekannt und wird bearbeitet. Zumindest das Deaktivieren von "Nur meinen Code aktivieren" in den allgemeinen Debugging-Optionen scheint vorerst eine Problemumgehung zu sein.

John T.
quelle
13
Immer noch in VS2017, aber nur für eine DLL. Irgendein Update?
JMK
1
Gibt es eine URL wie bei UserVoice, die dieses Problem verfolgt?
UuDdLrLrSs
Verwenden Sie die gleiche Lösung für VS 2017. Seltsam, es ist noch nicht richtig behoben. Trotzdem danke für die Arbeit.
Naveen Kumar V
5
Immer noch in VS2019.
Philu
46

Wie von @romanoza erwähnt, hat Microsoft den (jetzt fehlenden) Microsoft Connect-Fehlerbericht (der sich zuvor hier befand , falls Sie irgendwo ein Archiv finden können) mit den folgenden Informationen aktualisiert :

Deaktivieren Sie die Einstellung Debug -> Optionen -> JIT-Optimierung beim Laden des Moduls unterdrücken (nur verwaltet).

Dies ist die Problemumgehung. Sie sagen später weiter:

Wir empfehlen Leuten, die es nicht aktivieren, da das Deaktivieren sowohl die Leistung als auch das Verhalten nur meines Codes in bestimmten Szenarien verbessert.

Zuletzt die Bestätigung:

Es ist ein Fehler, dass es mit dieser aktivierten Einstellung nicht funktioniert, und wir arbeiten an einer Lösung für diese Situation, falls einige Kunden weiterhin mit dieser aktivierten Einstellung debuggen möchten.

Update : Auf der Grundlage der Kommentare scheint es , dass die Box nun un standardmäßig markiert für einige Entwickler, und dass die Überprüfung kann es genau das gleiche Problem in einigen Fällen beheben. Sehr eigenartig.

Nate Cook
quelle
39
In meiner Situation musste ich genau das Gegenteil tun. Ich musste das Kontrollkästchen für die oben genannte Einstellung aktivieren. Das ist alles sehr seltsam.
Legasthenikeraboko
2
Gleich wie Legasthenikeraboko - Ich hatte das Kontrollkästchen aktiviert, um die Nachricht zu entfernen.
Jay Cummins
5
Gleiches Problem bei Visual Studio 2017 April Release, musste das Kontrollkästchen aktivieren
Rafael
1
Ich stimme nicht zu, weil die Antwort funktioniert hat, sondern weil der erste Kommentar zur Antwort funktioniert hat! Und das verdient Bekanntheit. (Beachten Sie auch, dass der externe Link tot ist. Er führt Sie zu einer Seite "Microsoft Connect wurde zurückgezogen".)
Desillusioniert
Danke für den Kommentar Craig. Ich habe aufgrund Ihres Feedbacks eine kleine Änderung vorgenommen. Hoffentlich hilft das anderen weiter!
Nate Cook
25

Ich habe festgestellt, dass die Antworten hier unvollständig sind, ich hatte das gleiche Problem und es wurde gelöst, indem die Projekteigenschaften geöffnet und unter der Registerkarte " Erstellen" und Debug-Konfiguration das Kontrollkästchen "Code optimieren" deaktiviert wurden . Sie sollten auch den Konfigurationsmanager wie oben erwähnt überprüfen, um sicherzustellen, dass er auch einwandfrei ist. Die Antwort kam von diesem Beitrag und sie sollten die Gutschrift erhalten: VS2015 Project wird nicht mehr im Debug-Modus ausgeführt

Vielen Dank,

Cesar-Moya
quelle
2
Nach so viel Mühe stellte ich fest, dass dies die Hauptursache war. Seltsamerweise Code optimieren Visual Studio glaubt, dass der Release- Modus und sogar Haltepunkte nicht funktionieren. Alles am Debuggen fällt auseinander.
Morse
1
Du hast mein Leben gerettet. Du bist ein Gott.
SamyCode
12

Ich löste das Problem , das die Konfiguration der Einstellung Debug in den Configuration Manager - Fenstern , wie in dieser vorgeschlagenen Antwort .

Geben Sie hier die Bildbeschreibung ein

Fabriciorissetto
quelle
Dies ist jedoch nicht die Standardeinstellung (jemand musste Ihre Konfigurationen ernsthaft durcheinander bringen, damit dies geschah!), Und die meisten von uns haben dies bereits überprüft. (Es war sowieso das erste, was ich überprüft habe.) - Wie das OP gesagt hat, baut er definitiv im Debug-Modus, und ich weiß, dass ich auch einen tatsächlichen Debug-Build durchführe - im Debug-Modus, mit deaktivierten Optimierungen, Debug deklariert, wird eine gültige PDF generiert usw.
BrainSlugs83
1
Gut, dass du das hier reingesteckt hast, Fabricio, ich wette, es gibt eine Menge Leute, die das auch verpasst haben.
Molibar
11

Das Reinigen (und Wiederherstellen) der Lösung funktioniert für mich als vorübergehende Problemumgehung. Sie können auch Debug> Optionen auswählen und das Suppress JIT optimizationKontrollkästchen deaktivieren.

Romanoza
quelle
VS 2017 Version 15.1 gab mir den falschen Fehler ("Debuggen eines Release-Builds"). Clean and Rebuild hat es verschwinden lassen.
DeveloperDan
In Visual Studio 2015 Update 3 wurde dieser Fehler angezeigt, als die Option JIT unterdrücken deaktiviert war. Durch Auswahl wurde das Problem behoben.
Saravanan Sachi
6

Ich habe das gleiche Problem seit dem Update auf VS2015 Update 1.

In den Visual Studio-Foren von Microsoft wurde ein ähnlicher Bericht gefunden, der auf einen Fehlerbericht verweist, der mit ihnen erstellt wurde wurde

Es gibt verschiedene Problemumgehungen, aber ich denke, das zugrunde liegende Problem ist, dass IIS Express nicht beendet wird, wenn das Debuggen beendet wird - und dies nicht, weil die Option zum Bearbeiten und Fortfahren deaktiviert ist. Schnellste Problemumgehung, die ich finden kann, bis der Fehler behoben ist:

  • Klicken Sie mit der rechten Maustaste auf das IIS Express-Symbol in der Taskleiste und beenden Sie es nach dem Debuggen (Dank an David Totzke, der die Problemumgehung für den Fehlerbericht bereitgestellt hat).

Nicht großartig, aber ich denke, dass im Moment keine richtige Lösung verfügbar ist.

Jon
quelle
2
Die aktuelle Problemumgehung, die ich verwende, ist Cleaning Solution, gefolgt von Start Debugging.
Jerad Rose
1
Übrigens muss ich manchmal tatsächlich iisexpress töten; Das
Verlassen
3

Ich bin auf das gleiche Problem gestoßen. Ich habe das Problem behoben, indem ich alle Dateien manuell aus dem Ordner 'bin' gelöscht und dann die Lösung neu erstellt habe. Ich verstehe diesen Dialog nicht mehr.

Bps
quelle
2
Hab das schon versucht, hat nicht geholfen. Holen Sie sich das gleiche Problem bei einem brandneuen Projekt.
John T
Ich wollte diese Antwort auch posten :) Dies hat den Trick für mich getan (VS2015 Update 3).
Caio Campos
3

In meinem Fall hatte ich die "Active Solution Platform" für die gesamte Lösung in "Configuration Manager" von x86 auf "Any CPU" geändert und das Problem behoben

Mak R.
quelle
Hat auch für mich gearbeitet.
Rahatur
1

Überprüfen Sie die Konfigurationseigenschaften Ihrer Lösung. Ich bin auf dasselbe Problem gestoßen und habe festgestellt, dass meine Debug-Konfiguration tatsächlich einige Projekte mit einer Release-Konfiguration erstellt.

user5632285
quelle
4
Entschuldigung, nein, da ich sage, ist nichts auf Release eingestellt - alle Konfigurationen sind Debug. Das Ausführen nach einer Bereinigung zeigt den Fehler NICHT an. Das sofortige Anhalten und erneute Ausführen zeigt den Fehler - NICHTS hat sich dazwischen geändert, einschließlich des Projekts NOT EVEN REBUILDING.
John T
1

Ich habe festgestellt, dass Visual Studio den iisexpress-Prozess nicht beendet hat, nachdem ich den Debugger gestoppt habe. Das manuelle Beenden des Prozesses schien es für mich zu beheben.

Dies scheint nun in Update 2 behoben worden zu sein.

Alex
quelle
1

Es scheint so viele Lösungen zu geben, wie es Menschen gibt, die das Problem haben, aber in meinem Fall musste ich eine Projektreferenz entfernen und erneut hinzufügen. Die Projektreferenz befand sich in einem Unit-Test-Projekt in derselben Lösung.

Crowcoder
quelle
1

In meinem Fall war die Fehlermeldung korrekt. Ich habe eine Anwendung ausgeführt, die die veröffentlichte Version geladen hat. Also habe ich es korrigiert, indem die Anwendung stattdessen die Debug-Version geladen hat.

Elementar, ich weiß, und mir ist klar, dass ich mich wie ein Idiot aussehe. Aber manchmal ist das Problem genau das, was gemeldet wird.

Randy Richardson
quelle
0

Überprüfen Sie, ob die IIS-Projekt-URL tatsächlich zeigt, wo Sie glauben, dass dies der Fall ist. Klicken Sie im Zweifelsfall auf die Schaltfläche "Virtuelles Verzeichnis erstellen".

Ich hatte kürzlich dieses Problem, bei dem ich eine temporäre Version einer Produktionscodebasis ausgeführt und den Ordner in IIS auf die temporäre Version umgestellt hatte, in der tatsächlich ein Produktionsbuild ausgeführt wurde, nicht die Debug-Version, die ich zu debuggen versuchte.

Andy Twiss
quelle
0

Für mich habe ich 3 \ Release \ Ordnerreferenzen in dieser FileListAbsolute.txt-Datei gefunden:

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

Sie waren so:

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

Durch einfaches Entfernen dieser drei Zeilen außerhalb von VS und erneutes Öffnen der Lösung wurde das Problem behoben. Hoffentlich hilft das.

Ian_G
quelle
0

Ich habe alle Antworten ausprobiert, und die für mich funktionierende ist, ein NuGet-Paket zu entfernen, nicht nur die Referenz, sondern das Paket, in meinem Fall PostSharp. Zuerst habe ich versucht, die Referenz aus allen Projekten zu entfernen, und es funktioniert nicht. Dann habe ich einfach die Pakete aus dem Manager entfernt. Ich weiß nicht genau, warum, aber das hat meine Probleme gelöst. Ich hoffe, es könnte jemandem da draußen helfen.

JohnZ
quelle
0

Starten Sie Visual Studio neu. Dies hat das Problem für mich in 2017 Professional behoben.

TomDane
quelle
0

Hier ist, was für mich funktioniert hat.

Wenn es sich um ein Webprojekt handelt, gehen Sie zu den Projekteigenschaften des Webprojekts und

  1. Wenn Lokaler IIS ausgewählt ist, starten Sie Ihren IIS-Server neu.
  2. Wenn IIS Express ausgewählt ist, beenden Sie IIS Express über das Taskleistensymbol.

Es scheint, dass einige DLLs zwischengespeichert werden, sodass die obigen Schritte den Cache ungültig machen.

Codierung von Yoshi
quelle
0

Dies geschah in Visual Studio 2019 in einer UWP-App. Das Deaktivieren von Optimize Code in den csproj / build-Einstellungen wurde behoben.

Sean Anderson
quelle
-1

Ziemlich sicher, dass dies in Visual Studio 2015 Update 2 behoben wurde.

Ich habe dies die ganze Zeit (mehrmals pro Tag) gesehen und seit dem Update auf Update 2 kein einziges Mal gesehen.

Jerad Rose
quelle
4
Auf keinen Fall. Ich bekomme es plötzlich auf VS 2015 Update 3.
jpmc26
1
Ich habe nicht gesagt, dass sie es in Update 3 nicht noch einmal gebrochen haben;)
Jerad Rose
Ich habe Update 2 auf einem Entwickler. Box im Moment, und ich sehe es immer noch. - Ich sehe es nicht auf meinen Update 3-Boxen. : - /
BrainSlugs83