我有一個.NET應用程序,我試圖調試,部分應用程序從我的項目中加載了一個文件。該文件位於在使用IIS Express進行調試時獲取文件的完整路徑
C:\Users\USER_FOLDER\Documents\Visual Studio 2012\Projects\MY_PROJECT\_templates\myFile.html
在我的代碼,我指定一個相對路徑的文件,並使用DirectoryInfo類要到我的文件的完整目錄路徑:
string myFile = (new DirectoryInfo("_templates/myFile.html")).FullName;
然而,這種回報以下路徑(額外的\'S作爲轉義字符):
"C:\\Program Files\\IIS Express\\_templates\\myFile.html"
我期待在IIS Express進行調試將匹配我列出的第一個路徑,而不是第三個時返回的路徑。爲什麼是這樣?在我的項目中是否需要設置其他內容才能使其適當地導出路徑?我假設如果我將我的代碼部署到IIS7網站,這不會發生,但我還沒有達到測試級別。
如果它返回'Program Files文件\\ IIS快遞\\'就意味着你從該目錄路徑啓動它,所以要更具體的瞭解目錄路徑。考慮'_templates/myFile.html「將是父目錄中的一個本地目錄,它不是很具體。 –
在這一點上,調用Server.MapPath返回正確的路徑,而不必更具描述性。進入這一點,我不認爲我必須更具描述性,因爲在其他語言中,我正在處理該路徑,因爲它與引用該文件的腳本的位置有關,但爲了讀取它的內容, NET服務器需要一個完全合格的URI到路徑,我只是使用錯誤的對象來派生它。爲什麼我的_valid_問題被拒絕是令人困惑的。 –