我在C:\ Users \ theUser \ Desktop \ TheApplicaitonPath \ myExecutable.exe中有一个可执行文件
此应用程序路径还包含一个文件夹,C:\ Users \ theUser \ Desktop \ TheApplicaitonPath \ Configurations \ config.txt
应用程序需要在各种系统上运行,因此我无法对配置文件的路径进行硬编码。我希望能够在应用程序中引用配置文件,例如
string applicationLocation = Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().CodeBase);
//string applicationLocation = System.Windows.Forms.Application.ExecutablePath;
string theFilePath = Path.Combine(applicationLocation, "Configurations");
theFilePath = Path.Combine(theFilePath, "config.txt");
using (StreamReader sr = new StreamReader(theFilePath))
{ //DOSTUFF
}
但是当我将文件夹拖放到应用程序上时,我总是会找到执行该应用程序的文件夹的路径。换句话说,如果我拖动文件夹,
C:\用户\ theUser \桌面\ FolderToDoWorkOn
到我的可执行文件中,以下代码返回以下信息:
string applicationLocation = Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().CodeBase);
返回" C:\ Users \ theUser \ Desktop",
也
applicationLocation = System.Windows.Forms.Application.ExecutablePath;
也一样。
如何获取文件夹所在的.exe文件的路径?