我正在更新按鈕單擊時我的配置文件中的一個設置。我發現的代碼很容易理解,我相信它可以這樣工作。但問題在於更新配置文件中的部分或寫入它。更改值更改後的配置文件
所以按鈕點擊它會通過這種方法:
private static void UpdateSetting(string key, string value)
{
Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
configuration.AppSettings.Settings[key].Value = value;
configuration.Save();
ConfigurationManager.RefreshSection("applicationSettings");
}
這是我的配置文件中的targetet部分:
<applicationSettings>
<UpdatePackager.Properties.Settings>
<setting name="Sourcepath" serializeAs="String">
<value>D:\PMSmart</value>
</setting>
<setting name="DestinationpathUpdatePackages" serializeAs="String">
<value>D:\xxx</value>
</setting>
<setting name="DestinationpathClient" serializeAs="String">
<value>D:\xxx</value>
</setting>
<setting name="Versions" serializeAs="String">
<value>v5_9_0/v5_9_1/v5_9_2</value>
</setting>
</UpdatePackager.Properties.Settings>
</applicationSettings>
我缺少的東西或做一些錯誤的方式?
*「仍然沒有更新目標值」* - 您如何確定?該設置是否顯示在某個地方,而不是更新或如何? – Sinatr
我有設置寫在配置文件中,我可以檢查是否有變化。並在關閉和重新通過應用程序後沒有任何改變。 – MansNotHot
configuration.Save(ConfigurationSaveMode.Modified);我希望你打開正確的部分名稱並刷新相同的 – Ramankingdom