獲取應用程序根目錄物理路徑(Web and Windows)
阿新 • • 發佈:2017-07-21
cto info 環境 上下文 blog tdi 間接 sse ref
這兩個計劃寫一個小類庫,需要在不同項目下任意調用。該類庫需要對磁盤文件進行讀寫,所以就需要獲取程序執行的磁盤路徑,就簡單的對獲取磁盤路徑的方法進行研究。
借助搜索引擎,我從網上搜羅來多種方法,都可以直接或間接的獲取到應用程序執行的根目錄。大概總結一下,一共有以下 11 種:
Server.MapPath("~") //使用 HTTP 上下文中的 Server 對象來獲取Web站點的根目錄 System.AppDomain.CurrentDomain.BaseDirectory //使用應用程序域對象獲取當前線程的應用程序域的基準目錄 System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase//使用應用程序域對象獲取當前線程的應用程序域的配置信息中的應用程序目錄 System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName //獲取當前進程的主模塊的文件名(全路徑。由該文件路徑可以得到程序集所在的目錄) System.Environment.CurrentDirectory //獲取應用程序環境的當前目錄 System.IO.Directory.GetCurrentDirectory() //使用靜態類 Directory 下的 GetCurrentDirectory 方法獲取當前程序的路徑System.Reflection.Assembly.GetCallingAssembly().Location //獲取調用該方法的方法所在的程序集,並獲取該程序集文件路徑(由該文件路徑可以得到程序集所在的目錄) System.Reflection.Assembly.GetEntryAssembly().Location //獲取包含該應用程序入口點的程序集(可執行文件),並獲取該程序集文件的路徑(由該文件路徑可以得到程序集所在的目錄) System.Reflection.Assembly.GetExecutingAssembly().Location//獲取執行該方法的程序集,並獲取該程序集的文件路徑(由該文件路徑可以得到程序集所在的目錄) System.Windows.Forms.Application.StartupPath //獲取啟動應用程序的可執行文件所在的目錄 System.Windows.Forms.Application.ExecutablePath //獲取啟動應用程序的可執行文件的路徑(由該文件路徑可以得到應用程序所在的目錄)
獲取應用程序根目錄物理路徑(Web and Windows)