Wie kann ich das aktuelle Verzeichnis für eine .NET-Anwendung unter dem Visual Studio-Debugger finden?Suchen des aktuellen Verzeichnisses während der Visual Studio-Debugsitzung?
Update 1. Um klar zu sein: Ich möchte nicht den Code ändern oder Informationen im Programm selbst erhalten - ich möchte nur Informationen über die Anwendung erhalten derzeit debugged.
Während einer .NET-Anwendung Windows Forms (gemischte VB.NET und C# ) Debuggen war ich von dem Ort einer XML-Datei wurde gelesen von nicht sicher. Ich erwartete, dass das aktuelle Verzeichnis das Verzeichnis der Anwendung ist. Jedoch unter Verwendung von Process Explorer, Eigenschaften für das Prozessergebnis in:
D: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ Common7 \
(Rechtsklick auf Prozess/Eigenschaften/Registerkarte Bild/Aktuelles Verzeichnis).
den Cursor über den Prozess in der Hauptansicht von Process Explorer Schweben offenbart ein anderes Ergebnis (unten für eine Bildschirm sehen):
D: \ dproj \ DTASCall \ DTASuperCharge \ bin \
Was ist richtig?
Starten der Anwendung Standalone zeigt die erwartete aktuellen Verzeichnis,
D: \ dproj \ DTASCall \ DTASuperCharge \ bin \
im Process Explorer Prozesseigenschaften-Fenster.
Kommentierte Screen-Shot von Process Explorer:
Alt text http://www.pil.sdu.dk/1/until2039-12-31/PEdiscrepancy_2009-09-02.png
Was meinst du damit, dass das eigentliche Programm nicht läuft? Das Programm wurde an einem Haltepunkt angehalten, als der Screenshot erstellt wurde. –
Hmmm, ich verstehe was du meinst. Ich habe mich bei dem .vshost geirrt - ich habe gerade das Gleiche überprüft und procexp verfolgt mein aktuelles Arbeitsverzeichnis ohne Probleme. Versuchen Sie, die Ausgabe von System.IO.Directory.GetCurrentDirectory() zu vergleichen - mit den Standard-Projekteinstellungen sollte dies das bin \ Debug-Verzeichnis Ihrer Anwendung sein. Wenn es sich bei der zu lesenden XML-Datei um ein Projektelement handelt, müssen Sie die Eigenschaft "Build Action" auf "Content" und die Eigenschaft "Copy to Output Directory" entsprechend festlegen. Vielleicht lohnt es sich auch, im Stammverzeichnis Ihrer Anwendung statt im aktuellen Verzeichnis zu lesen. – Richard
Das Feld "Arbeitsverzeichnis" auf der Debug-Seite ist leer. Aber auf der Kompilierseite enthält das Feld "Build output path" "bin \". Sollte es leer sein? Dieses Projekt wurde 2003 von Visual Studio erstellt und durchlief seitdem zwei Visual Studio-Updates. Derzeit startet die Anwendung aus dem bin-Verzeichnis, nicht bin/Debug –