2011-09-23 52 views
1

爲了測試和調試目的,我只是硬編碼了我的應用程序將使用的文本文件的文件路徑,例如,何處保存與項目相關的文本文件?

const string CONFIG_FILE_PATH = @"C:\myconfigfile.txt"; 

但我認爲這是一個好主意,因爲它是在Beta/Release版本。

所以我想知道,什麼是最好的位置來保存這些配置文件,將被應用程序使用/讀取?有什麼建議麼?

很多謝謝。

回答

6

爲什麼不把字符串保存到項目的Settings部分?在解決方案資源管理器中單擊您的項目,選擇屬性,轉到設置部分,並添加一個新的字符串與您的文件路徑。然後,在你的代碼,你可以這樣訪問:

using ProjectName.Properties; 

var path = Settings.Default.MySetting; 

要更改設置:

Settings.Default.MySetting = newPath; 
Settings.Default.Save(); 
+0

你的意思是'app.config'文件?嗯什麼是保存到該文件好? – woodykiddy

+0

@woodykiddy這就是它在那裏。它是內置的,你可以通過代碼或直接通過修改app.config文件修改它的內容,這很方便。 – alex

+0

嗯,這聽起來不錯。我會放棄它。 – woodykiddy

0

在同一文件夾中的可執行文件。

但是您應該考慮使用設置類(您可以閱讀更多here)。 Visual Studio可以自動在app.config文件的一節中創建一個強類型的包裝器。 設置與可執行文件存儲在同一個文件中,但可以在用戶配置文件中的每個用戶的匹配文件中覆蓋(並從應用程序保存)該設置。

0

另一種選擇:如果測試配置文件旨在與可執行文件放在一邊,則可以將「添加」「Existing Item ...」添加到項目中,然後將其屬性更改爲「始終複製」或「複製if新」。在調試過程中,可執行文件應該能夠在當前工作目錄中找到配置文件的副本。

當有大量測試要做時,這不是一個很有用的解決方案。

0

對於設置,我一定會使用app.config文件。這是微軟提出的,除此之外,它幾乎是處理應用程序設置的最簡單方法。

對於其他文件,我建議應用程序本地或漫遊設置路徑,根據天氣你只需要數據本地或不。對於緊湊的本地數據庫,我傾向於使用這種方法。 Albin建議的應用程序目錄是一個壞主意。您不能確定用戶實際上是否允許寫入該目錄和/或該目錄中的文件(即該應用程序是由具有提升權限的管理員預先安裝的)。

爲了獲得本地路徑的位置使用

ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal) 

和漫遊路徑上的Windows用戶配置文件

ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoaming) 

更多的信息(例如不同版本的Windows的實際路徑,你可以在這裏找到:http://msdn.microsoft.com/en-us/library/aa372123.aspx

相關問題