C# 呼叫dll獲取dll物理路徑的方法

衣舞晨風發表於2015-05-21

寫類庫專案時,經常會有某些特殊業務需要用到伺服器端的物理路徑,使用傳統的System.IO.Directory.GetCurrentDirectory()方法返回的則是WINNT\System32目錄,這個一般不能滿足正常的業務需求,而要得到具體執行DLL所在的物理目錄可以通過Assembly.GetExecutingAssembly().CodeBase屬性來取得,具體參考方法如下:

      /// <summary>
       /// 獲取Assembly的執行路徑
       /// </summary>
       ///<returns></returns>
       private string GetAssemblyPath()
       {
           string _CodeBase =System.Reflection.Assembly.GetExecutingAssembly().CodeBase ;
           _CodeBase = _CodeBase.Substring(8,_CodeBase.Length -8);    // 8是file:// 的長度
           string[] arrSection = _CodeBase.Split(new char[]{'/'});           
           string _FolderPath = "";
           for(int i=0;i<arrSection.Length-1;i++)
           {
               _FolderPath += arrSection[i] + "/";
           }
           return _FolderPath;
       }

原文地址:點選開啟連結

相關文章