2017-10-06 3 views
-4

Kann ich irgendwie eine einzige Methode in C# mit Visual Studio 2017/ReSharper ausführen, um es zu debuggen? Ich weiß, dass ich kann:Debuggen Sie eine einzelne C# -Methode in Visual Studio 2017?

  • die gesamte App starten und einen Haltepunkt (Schmerzen, da ich durch Logik gehen brauchen, um Verfahren zu bekommen) gesetzt
  • Kopieren Sie die Methode auf eine Konsolenanwendung
  • Run a Unit-Test im Debug-Modus auf der Methode
  • Geht zu einem Online-C# Pad (aber dann muß ich alle mit Aussagen duplizieren)

all dies ist zeitraubend und ich frage mich, ob es eine Alternative ist, .

EDIT: In SQL Management Studio kann ich eine einzelne Abfrage markieren und ausführen. Ich möchte eine Möglichkeit, C# -Methoden wie diese zu debuggen (offensichtlich würde ich dafür Parameter bereitstellen müssen). Ich habe nichts dergleichen gehört, aber es tut nicht weh zu fragen.

+0

Sie müssen keine Haltepunkte in VS2017 setzen, Sie können direkt zu dem Punkt, wo Sie zeigen. –

+1

"Schmerz, da ich durch Logik gehen muss, um zur Methode zu gelangen" - wie sonst wollen Sie Visual Studio WHICH Methode zum Debuggen sagen? Komische Frage. –

+1

Komponententests? https://msdn.microsoft.com/en-us/library/ms182532.aspx; oder fügen Sie Ihrer Lösung ein Projekt hinzu, fügen Sie einen Verweis auf Ihren ursprünglichen Code hinzu, rufen Sie den Code wie gewünscht von Ihrem neuen Projekt auf. –

Antwort

3

Sie können das interaktive C# -Fenster verwenden (das Debuggen wird nicht unterstützt, Sie können jedoch schnell Funktionen iterieren).

Sie können Codestücke markieren und dann auf den Menüpunkt Execute in Interactive klicken.

Um dies effektiv nutzen zu können, müssen Sie wahrscheinlich einige Referenzen und einige Blöcke zum interaktiven Fenster hinzufügen.

einen Verweis hinzuzufügen, können Sie den #r Befehl verwenden:

#r "System.Windows.Forms" 
#r "C:\Full\Path\To\Your\Reference\Assembly.dll" 

Sie können Blöcke von dort mit der normalen Syntax

using System.Windows.Forms 

Sie können auch erklären und verwenden, um Objekte innerhalb der Verwendung Umfang des interaktiven Fensters:

var f = new Form(); 
f.ShowDialog(); 

Wenn Sie jemals brauchen Um Ihr interaktives Fenster zu bereinigen, können Sie den Reset-Befehl verwenden:

#reset 
+0

Sieht aus wie ich suche, danke, versuche es jetzt. – VSO

3

Rufen Sie diese Methode als erstes in Ihrer Anwendung an.

Verwandte Themen