如何找到在Visual Studio调试器下运行的.NET应用程序的当前目录?
更新1.要明确:我不想更改代码或获取程序本身的信息 - 我只想获取有关当前正在调试的应用程序的信息.
在调试.NET Windows Forms应用程序(混合VB.NET和C#)时,我不确定从哪个位置读取XML文件.我希望当前目录是应用程序的目录.但是,使用Process Explorer,进程的属性会导致:
D:\ Program Files(x86)\ Microsoft Visual Studio 9.0\Common7 \
(右键单击进程/属性/选项卡图像/当前目录).
将光标悬停在Process Explorer主视图中的进程上会显示不同的结果(请参见下面的屏幕截图):
d:\ dproj\DTASCall\DTASuperCharge\BIN \
什么是正确的?
独立启动应用程序会显示预期的当前目录,
d:\ dproj\DTASCall\DTASuperCharge\BIN \
在Process Explorer流程属性窗口中.
Process Explorer的带注释的屏幕截图:
替代文字http://www.pil.sdu.dk/1/until2039-12-31/PEdiscrepancy_2009-09-02.png
在Visual Studio中,在调试选项卡中的项目设置下,您可以根据需要设置"工作目录".
要在代码中或在断点的即时窗口中确定当前工作目录,请尝试
System.IO.Directory.GetCurrentDirectory()