2012-10-17 56 views
2

我有一個像下面的一些文件路徑到達文件:如何使文件路徑到達解決方案的特定文件夾中的文件?

StreamReader fileStream = new StreamReader(@"C:\Projects\SisStuff\SIS\SIS.Core\Models\CreateEditTemplate.cshtml"); 

現在我想刪除C:項目\ SisStuff部分,使其獨立於文件路徑在我的電腦,我試圖@「〜\ Models \ CreateEditTemplate.cshtml「,但去調試文件夾中找到它,我怎麼能使它工作?

+0

默認的工作目錄是你的exe文件的路徑(這可能是你爲什麼得到調試文件夾)。您可以在Visual Studio屬性中設置工作目錄(如果這是您正在使用的工具)。這會起作用嗎? – Default

+0

BigM答案按我的意思工作,但我沒有試過;) – ePezhman

回答

2

這將能夠跨系統工作的唯一方法是建立一個已知的系統變量。例如,你可以通過使用%windir%來獲得Windows目錄嗎?那是因爲它是一個明確定義的系統變量。

但是,如果您只是試圖找到項目的根目錄,則可以記住它始於將從您正在執行的目錄開始。因此,在Visual Studio中運行時,您會希望(假設您使用項目模板中的默認路徑設置)..\..\Models\CreateEditTemplate.cshtml

但是,如果您在生產中出於某種原因需要使用它,則它可能看起來更像..\Models\CreateEditTemplate.cshtml,因爲默認情況下,您只需在生產中加入一個bin文件夾即可。

相關問題