C# 子应用程序使用父应用程序路径

C# 子应用程序使用父应用程序路径,c#,.net,C#,.net,我编写了一个加载一些配置的简单工具: stream = new StreamReader("configuration.xml"); 作为独立的,它可以工作,但当我像procces一样启动它时,它们会在父应用程序路径中查看configuration.xml文件。这是正常的行为吗 C:\My simple Tool\tool.exe C:\My simple Tool\configuration.xml C:\ParentTool.exe 作为ParentTool.exe的子进程,too

我编写了一个加载一些配置的简单工具:

stream = new StreamReader("configuration.xml");
作为独立的,它可以工作,但当我像procces一样启动它时,它们会在父应用程序路径中查看
configuration.xml
文件。这是正常的行为吗

C:\My simple Tool\tool.exe 
C:\My simple Tool\configuration.xml

C:\ParentTool.exe 

作为
ParentTool.exe
的子进程,
tool.exe
应用程序正在
C:\
中查找
configuration.xml
,但我想不是在
“C:\My simple tool\”
中。您可以尝试更改:

stream = new StreamReader("configuration.xml");
致:


您是否尝试将子应用程序及其配置文件与父应用程序放在同一目录中?是的,这是正常行为。当您传入一个相对路径(如“configuration.xml”)时,它将在当前程序当前正在执行的同一目录中查找该文件。这不仅是.NET的标准,也是网站、DOS等的标准。
stream = new StreamReader(@"C:\My simple Tool\configuration.xml");