2011-04-08 26 views
0

當我們通過調試運行ASP.NET它在一個特殊的目錄一樣運行調試器時具有依賴性的處理:ASP.NET - 使用

C:\ Program Files文件\共同 文件\微軟共享\ DevServer \ 10.0

我不知道這個目錄是否可配置。問題是,如果你有一個如Transfer.xsl的文件,那麼你將它的屬性「Copy to Output Directory」設置爲「Copy if newer」。這將文件複製到文件箱中。

但是,我們沒有在垃圾箱內運行。所以,如果我使用相對路徑

StorageFolder \ Transfer.xsl

它成爲...

C:\ Program Files文件\共同 文件\微軟共享\ DevServer \ 10.0 \ StorageFolder \ Transfer.xsl

但是,Visual Studio將在這裏做拷貝文件,即使你設置上述財產。

在過去,我通過編寫一個預生成例程來xcopy依賴到這個「臨時文件夾」來解決這個問題。它的作品,但flippen吸盤caseadillas。

有沒有更好的方法?

+0

這聽起來像你正在使用的文件操作錯誤的情況下;在ASP.NET中,如果可以的話,你應該使用'this.Page.Request.PhysicalApplicationPath' – Tejs 2011-04-08 18:33:25

回答

2

在ASP.NET應用程序中,您可以使用App_Data專用文件夾來存儲文件。而當你想使用MapPath方法的完整路徑,此文件:

string fullPath = Server.MapPath("~/App_Data/Transfer.xsl"); 
+0

+ 100!好的解決方案 – 2011-04-08 18:44:53