我想從我的解決方案中讀取文件。我想知道如何使用相對路徑來定位文件。我的解決方案包含3個項目。我想要讀取的文件位於項目A中,但正在讀取的代碼位於項目B中。如果我使用..\file.txt
將帶我到項目B而不是項目A。如果我使用Application.StartPath
我得到System.IO相對路徑
C:\\Users\\Linda\\AppData\\Local\\Microsoft\\VisualStudio\\10.0\\Extensions\\tangible\\t4 editor\\2.1.1
,而我需要找到我所開發的代碼C:\Sp_CodeGenerator\...
我一直在使用
Environment.GetFolderPath
Directory.GetCurrentDirectory();
System.IO.Path.GetDirectoryName(System.IO.Path.GetDirectoryName(Application.ExecutablePath))'`
System.AppDomain.CurrentDomain.BaseDirectory.ToString();
但這些也試過目錄所有這些都會產生相同的結果,並將我帶入Visual Studio Program文件,而不是創建解決方案的位置d在硬盤上。
還有什麼我應該嘗試?
你所期望的,其中溶液已創建的位置」是什麼硬盤「是否在沒有源代碼的系統上執行? – cdhowie
您是否嘗試過在項目屬性中設置工作目錄? – dtb
也許您應該將文件屬性設置爲「將文件複製到輸出目錄」,然後在與執行的程序集相同的目錄中查找它(類似於'Assembly.GetEntryAssembly()。Location')。 – phoog