Come è possibile trovare la directory corrente per un'applicazione .NET in esecuzione nel debugger di Visual Studio?Ricerca della directory corrente durante la sessione di debug di Visual Studio?
Aggiornamento 1. Per essere chiari: non voglio cambiare il codice o ottenere informazioni nel programma stesso - Voglio solo ottenere informazioni sull'applicazione correntemente in esecuzione debug.
Durante il debug di un'applicazione .NET Windows Forms (VB.NET mista e C#) Io non ero sicuro dal quale la posizione di un file XML veniva letta da . Mi aspettavo che la directory corrente fosse la directory dell'applicazione . Tuttavia, utilizzando Process Explorer, proprietà per il risultato processo in:
D: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ Common7 \
(click destro sul processo/proprietà/scheda Immagine/directory corrente).
Passando il cursore sul processo nella vista principale di Process Explorer rivelato un risultato diverso (vedi sotto per una schermata):
D: \ dproj \ DTASCall \ DTASuperCharge \ bin \
Che cosa è corretto?
Avvio dei standalone applicazione visualizza la directory corrente previsto,
D: \ dproj \ DTASCall \ DTASuperCharge \ bin \
nella finestra delle proprietà di processo Process Explorer.
commentata screen-shot di Process Explorer:
Alt text http://www.pil.sdu.dk/1/until2039-12-31/PEdiscrepancy_2009-09-02.png
Cosa intendi per programma non in esecuzione? Il programma è stato fermato a un punto di interruzione quando è stata scattata la schermata. –
Hmmm, capisco cosa intendi. Ho sbagliato su .vshost: ho appena controllato la stessa cosa e procexp traccia la mia attuale directory di lavoro senza problemi. Provate a confrontare l'output di System.IO.Directory.GetCurrentDirectory() - con le impostazioni di progetto predefinite questa dovrebbe essere la directory bin \ Debug della vostra applicazione. Se il file XML che si sta tentando di leggere è un elemento di progetto, assicurarsi di impostare la proprietà Azione di compilazione su "Contenuto" e la proprietà Copia su directory di output in modo appropriato. Potrebbe anche valere la pena leggere dalla directory principale dell'applicazione anziché dalla directory corrente. – Richard
Il campo "Directory di lavoro" nella pagina Debug è vuoto. Ma nella pagina Compile il campo "Crea percorso di output" contiene "bin \". Dovrebbe essere vuoto? Questo progetto è stato creato da Visual Studio nel 2003 e da allora ha attraversato due aggiornamenti di Visual Studio. Attualmente l'applicazione inizia dalla directory bin, non da bin/Debug –