Best way to get application folder path

前端 未结 10 2175
無奈伤痛
無奈伤痛 2020-11-22 02:03

I see that there are some ways to get the application folder path:

  1. Application.StartupPath
  2. System.IO.Path.GetDirectoryName( System.
相关标签:
10条回答
  • 2020-11-22 02:46

    this one System.IO.Path.GetDirectory(Application.ExecutablePath) changed to System.IO.Path.GetDirectoryName(Application.ExecutablePath)

    0 讨论(0)
  • 2020-11-22 02:50

    I have used this one successfully

    System.IO.Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName)
    

    It works even inside linqpad.

    0 讨论(0)
  • 2020-11-22 02:53

    For a web application, to get the current web application root directory, generally call by web page for the current incoming request:

    HttpContext.Current.Server.MapPath();
    
    System.Web.Hosting.HostingEnvironment.ApplicationPhysicalPath;
    

    Above code description

    0 讨论(0)
  • 2020-11-22 02:55
    1. Application.StartupPathand 7. System.IO.Path.GetDirectoryName(Application.ExecutablePath) - Is only going to work for Windows Forms application

    2. System.IO.Path.GetDirectoryName( System.Reflection.Assembly.GetExecutingAssembly().Location)

      Is going to give you something like: "C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\Temporary ASP.NET Files\\legal-services\\e84f415e\\96c98009\\assembly\\dl3\\42aaba80\\bcf9fd83_4b63d101" which is where the page that you are running is.

    3. AppDomain.CurrentDomain.BaseDirectory for web application could be useful and will return something like "C:\\hg\\Services\\Services\\Services.Website\\" which is base directory and is quite useful.

    4. System.IO.Directory.GetCurrentDirectory() and 5. Environment.CurrentDirectory

    will get you location of where the process got fired from - so for web app running in debug mode from Visual Studio something like "C:\\Program Files (x86)\\IIS Express"

    1. System.IO.Path.GetDirectoryName( System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)

    will get you location where .dll that is running the code is, for web app that could be "file:\\C:\\hg\\Services\\Services\\Services.Website\\bin"

    Now in case of for example console app points 2-6 will be directory where .exe file is.

    Hope this saves you some time.

    0 讨论(0)
提交回复
热议问题