将文件夹拖到应用程序上时获取应用程序文件夹的路径

时间:2016-10-12 16:58:02

标签: c# winforms

我在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文件的路径?

0 个答案:

没有答案