2016-01-05 92 views
1

我寫了一個應用程序,可以在兩種不同的模式下運行:測試與否。我也有能力根據國旗追蹤。我想有一個配置或INI文件來設置這些標誌,以防止每次我想設置這些標誌時更改代碼。我不知道如何製作。 我是否需要通過Visual Studio添加新項目:應用程序配置文件?或者我需要創建一個INI文件?它會讓我更改安裝文件夾中的值,而無需更改代碼嗎?創建一個配置或INI文件來存儲用戶設置首選項

我想一個應用程序配置文件添加到項目,但我不能把我自己的價值觀:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <userSettings> 
     <add key="TestEnvironment" value="true" /> 
     <add key="Tracing" value="true" /> 
    </userSettings> 
</configuration> 

我得到7個警告: 最主要的是:找不到架構信息爲元素userSettings

回答

2

您可以使用的appSettings元素來存儲您的鍵值對:

<configuration> 
    <appSettings> 
    <add key="TestEnvironment" value="true" /> 
    <add key="Tracing" value="true" /> 
    </appSettings> 
</configuration> 

和應用程序,你可以這樣閱讀:

bool testEnv = bool.Parse(System.Configuration.ConfigurationManager.AppSettings["TestEnvironment"]); 
bool tracing = bool.Parse(System.Configuration.ConfigurationManager.AppSettings["Tracing"]); 

(請確保您有System.Configuration添加到您的引用)

+0

是的,你可以使用的AppSettings或作爲其他(更好)的解決方案,使用'設置'文件。可能你會發現[這篇文章](http://stackoverflow.com/a/34159904/3110834)關於創建和使用設置有幫助。也支持[屬性綁定到應用程序設置](http://stackoverflow.com/a/34483981/3110834)。 –

+0

如果我理解正確,在安裝應用程序的每臺計算機上,我將能夠更改文件系統rom這些屬性的值,並且會影響代碼,對不對?我是否需要將複製到輸出目錄設置爲True? – ehh

+1

@ehh:您可以在配置文件上手動更改這些值,但是您需要重新啓動應用程序以使這些更改生效。當你編譯VS時會自動創建一個以應用程序命名的配置文件。例如,如果您的項目是MyApp,它會生成MyApp.exe.config。所以你不會在輸出文件夾中看到App.config –

2

如果您正在使用Visual Studio,你可以去項目屬性並進入配置選項卡。您可以根據需要添加儘可能多的設置,Visual Studio會將它們添加到自動化的app.config配置文件中。

使用這個系統,你可以從代碼中使用你給了他們在配置文件中像這樣的名稱來訪問您的設置:

Properties.Settings.Default.SettingName 
+0

或者您可以在屬性文件夾下找到它,或使用設計器或代碼添加您的設置文件。可能你會發現[這篇文章](http://stackoverflow.com/a/34159904/3110834)關於創建和使用設置有幫助。 –

+0

我按照您的建議通過項目屬性添加了用戶設置,並在我的帖子中寫到了警告。我正在與VS2015合作 – ehh

相關問題