c#獲取程式根目錄方法
取得控制檯應用程式的根目錄方法
1:Environment.CurrentDirectory 取得或設定當前工作目錄的完整限定路徑(注:最後一個字元沒有“\”,需要自己新增)
2:AppDomain.CurrentDomain.BaseDirectory 獲取基目錄,它由程式集衝突解決程式用來探測程式集
3:System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase(注:最後一個字元有“\”)
取得WinForm應用程式的根目錄方法
1:Environment.CurrentDirectory.ToString();//獲取或設定當前工作目錄的完全限定路徑
2:Application.StartupPath.ToString();//獲取啟動了應用程式的可執行檔案的路徑,不包括可執行檔案的名稱
3:Directory.GetCurrentDirectory();//獲取應用程式的當前工作目錄
4:AppDomain.CurrentDomain.BaseDirectory;//獲取基目錄,它由程式集衝突解決程式用來探測程式集
5:AppDomain.CurrentDomain.SetupInformation.ApplicationBase;//獲取或設定包含該應用程式的目錄的名稱
取得web應用程式的根目錄方法
1.HttpContext.Current.Server.MapPath("~/configs/ChannelUsers.xml")
HttpContext.Current返回當前請求的 HttpContext 物件。如此我們就可以直接訪問Request、Response、Session、Application等物件,和Page中訪問等同。
獲取網站根目錄的方法有幾種如:
Server.MapPath(Request.ServerVariables["PATH_INFO"])
Server.MapPath("/")
Server.MapPath("")
Server.MapPath(".")
Server.MapPath("../")
Server.MapPath("..")
Page.Request.ApplicationPath
以上的方法可以在.aspx中訪問,但是如果你在winform檔案就不能用。
HttpContext.Current.Server.MapPath();
System.Web.HttpContext.Current.Request.PhysicalApplicationPath在.cs檔案中可以用。
但是HttpContext.Current.Server.MapPath();這個獲取的是檔案的路徑而不是根目錄。
只有System.Web.HttpContext.Current.Request.PhysicalApplicationPath 這個才是獲取的根目錄,在寫獲取資料庫路徑是應該用這個。