1

Ich habe eine Methode1, die eine Methode2 in einem Typ aufruft, der während der Laufzeit dynamisch aufgelöst wird. Der Typ befindet sich in einer referenzierten Assembly, deren Quelle ich habe. Ich habe einen Breakpoint in Methode1 auf den Aufruf von Methode2 und ich habe einen Haltepunkt auf Methode2 in seiner CS-Datei. Ich verwende Visual Studio 2015 Update 3 und Resharper. (Ich habe auch CodeRush).Wie geht man Schritt für Schritt in eine Methode für einen Typ, der zur Laufzeit aufgelöst wird?

Ich kann nicht einen einzigen Schritt in Methode2 und ich kann nicht zur Implementierung von Methode2 gehen. Der Debugger-Einzelschritt springt zur nächsten Zeile, bevor er in method2 eintritt. Strg-Alt-Klick auf Methode2 zeigt eine "Implementierungen von Methode2 wurden nicht gefunden". Strg-Klick auf Methode2 geht zu seiner Schnittstelle.

Ich habe mich gefragt, wie man beim Debugging in method2 einbricht.

+0

Wenn Sie das Resharper-Tool deaktivieren/entfernen und dann Ihre App mit der VS IDE "Step Into (F11)" debuggen, wie wäre es dann mit dem Ergebnis? Ob die zwei Klassenmethoden in verschiedenen Projekten oder nur verschiedene Klassendateien im selben Projekt? Welche Art von Apps hast du wirklich erstellt, VC++/C#? Ist es das Mix-Modus-Debugging? Aktivieren Sie den "Verwalteten/nativen Kompatibilitätsmodus verwenden" unter Extras-> Optionen-> Debuggen? Bitte achten Sie auch darauf, dass zunächst kein Buildfehler auftritt. –

+0

Ich verwende nur C#. Beide Modi sind ausgeschaltet. Es ist kein gemischter Modus. method2 befindet sich in einer Klassendatei von einem Projekt, das nicht Teil der Lösung ist. Auf seine Assembly wird verwiesen. –

+0

@ Tony, Wenn Sie beide Modi nacheinander deaktivieren, wie wäre es mit dem Ergebnis? Stellen Sie sicher, dass die Second-Class-Methode beim Ausführen Ihrer App wirklich aufgerufen wurde? Sie könnten bestimmte Nachrichten in der Referenzklasse ausgeben und das Ausgabeergebnis aufrufen. Zumindest wissen wir, ob es hieß. Vielleicht vergessen Sie, die DLL-Referenzeigenschaft "copy local = True" oder andere zu setzen. –

Antwort

0

(1) un-check Erfordert die genaue Übereinstimmung der Quelldateien mit der ursprünglichen Anweisung und Aktivieren Sie unter TOOLS-> Optionen-> Debuggen nur meinen Code.

(2) Stellen Sie beim Debugging der Referenzbaugruppe sicher, dass die DLL-Datei und die PDB-Datei alle in den Pfad des Projektausgangs (Bin \ debug) kopiert werden, auf den sie verweisen.

(3) Bitte prüfen Sie, ob diese Assembly im Debugging-Modus unter Debug-> Modules wirklich geladen wurde.

(4) Die Verwendung der Projektreferenz installiert der Assembly-Referenz könnte Ihnen ebenfalls helfen, dieses Problem einzugrenzen.

Verwandte Themen