﻿# 開發ASP.NET請不要使用 Environment.CurrentDirectory

我們之前有位新手工程師(現在已經不新了)曾經在 ASP.NET 中使用 [Environment.CurrentDirectory](http://msdn.microsoft.com/zh-tw/library/system.environment.currentdirectory.aspx) ( 取得目前之工作目錄的完整路徑 ) 來存取網站內的檔案，一般來說很少有人會用 Environment.CurrentDirectory 來存取網站上的檔案路徑，我自己猜測應該是一般的 C# 書籍都是用 Console Program 來撰寫範例，所以可能是新手上路搞不清楚狀況才這樣寫，而且在 Visual Studio 的開發環境中這樣使用還真的不會出錯呢！所以才導致新人一直使用錯誤的方法開發，直到程式被部署到測試主機後才發現程式無法執行。

比較正確的用法應該是用 [HttpServerUtility.MapPath 方法](http://msdn.microsoft.com/zh-tw/library/system.web.httpserverutility.mappath.aspx) 才對，底下是個簡單的範例：

```
string filePath = Server.MapPath(@"~\images\pic1.jpg");
```

用這種方式來取得檔案的路徑才是「正宗」的寫法喔。

**相關連結**

-   [HttpServerUtility.MapPath 方法](http://msdn.microsoft.com/zh-tw/library/system.web.httpserverutility.mappath.aspx)
