2016-03-01 227 views
-1

我的結構像下面這樣的畫面:獲取文件的路徑從項目

enter image description here

我怎麼能寫我得到的路徑將突出顯示的其中之一是代碼「ConenctionsList.xml 「?

我想是這樣的,但這帶我去文件夾

this.XmlPlath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"ConnectionsList.XML"); 
+0

那些仍然去bin文件夾。 – Bohn

+0

是否只希望它在開發過程中工作(即從bin文件夾運行時)還是希望它在部署時也能正常工作? – hatchet

回答

1

,這是好事XmlPath點到bin文件夾,關鍵是要設置ConnectionList.xml在輸出被複制。只需輸入其屬性並將Copy to Output設置爲Always或更好 - If Newer

注意:想象一下,您的應用程序將被部署,並且您的項目或解決方案中的路徑在部署位置沒有意義。只有可執行文件(或某個程序集)的相對路徑很重要(除非使用GAC註冊或類似的東西)。

0

您需要知道該文件的絕對路徑是在代碼中引用它的。通過它駐留在Visual Studio中的位置引用它是不夠的。通常情況下,如果您正在運行程序並希望讀取某種配置文件,設計人員會將配置文件放在與可執行文件相同的位置,並使用各種方法進行引用,其中一種方法如下所示:

string filename = "ConnectionsList.xml"; 
string filePath = Path.Combine(Directory.GetCurrentDirectory(),filename); 

請參考下面的鏈接和Stack Overflow上的其他線程獲取更多詳細信息。這個一般性主題在許多地方都有涉及。

MSDN GetCurrentDirectory MSDN Path.Combine