C#程序,使用System.Environment.CurrentDirectory来获取本目录中的文件,一般情况下没问题。
但是有例外。
今天的项目中,由其他在其他程序(CPP.exe)中打开C#程序(CSharp.exe),发现System.Environment.CurrentDirectory获取的并不是CSharp.exe所在的目录,而是CPP.exe所在的目录。
由此得出结论,C#中的System.Environment.CurrentDirectory获取的是“调用者”所在的目录,这个“调用者”可以是C#程序自己,也可以是其他的程序。谁是调用者,就获取谁的目录。