WebForm 與 winform 路徑獲取

對於Windows程序 和Web 應用程序來講,他們運行的路徑是不同的,因此關鍵是判斷當前運行的程序是哪一種程序.因而咱們能夠使用以下的代碼web

              string path = "";c#

             if (System.Environment.CurrentDirectory == AppDomain.CurrentDomain.BaseDirectory)//Windows應用程序則相等windows

           {
                path 
= AppDomain.CurrentDomain.BaseDirectory;
            }

           
else
           
{
                path 
= AppDomain.CurrentDomain.BaseDirectory + "Bin/";
            }
asp.net

這樣若是咱們寫了一個類庫,類庫中用到了Assembly.LoadFrom,因爲是通用類庫,因此可能用到Windows程序中也可能用到Web中,那麼用上面的代碼就很方便了.spa

作法2:.net

string MyPath = System.IO.Path.GetDirectoryName(
                System.Reflection.Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName);orm

1.asp.net webform用「Request.PhysicalApplicationPath獲取站點所在虛擬目錄的物理路徑,最後包含「/」;string

2.c# winform用
A:「Application.StartupPath」:獲取當前應用程序所在目錄的路徑,最後不包含「/」;
B:「Application.ExecutablePath 」:獲取當前應用程序文件的路徑,包含文件的名稱;
C:「AppDomain.CurrentDomain.BaseDirectory」:獲取當前應用程序所在目錄的路徑,最後包含「/」;
D:「System.Threading.Thread.GetDomain().BaseDirectory」:獲取當前應用程序所在目錄的路徑,最後包含「/」;
E:「Environment.CurrentDirectory」:獲取當前應用程序的路徑,最後不包含「/」;
F:「System.IO.Directory.GetCurrentDirectory」:獲取當前應用程序的路徑,最後不包含「/」;io

3.c# windows service服務中用「AppDomain.CurrentDomain.BaseDirectory」或「System.Threading.Thread.GetDomain().BaseDirectory」;
用「Environment.CurrentDirectory」和「System.IO.Directory.GetCurrentDirectory」將獲得「 system32」目錄的路徑;
若是要使用「Application.StartupPath」或「Application.ExecutablePath 」,須要手動添加對「System.Windows.Forms.dll 」的引用,並在程序開頭用「using   System.Windows.Forms」聲明該引用;table

4.在卸載程序獲取系統安裝的目錄:         System.Reflection.Assembly curPath = System.Reflection.Assembly.GetExecutingAssembly();         string path=curPath.Location;//獲得安裝程序類SetupLibrary文件的路徑,獲取這個文件路徑所在的目錄即獲得安裝程序的目錄;

相關文章
相關標籤/搜索