2008年1月1日火曜日

[NET]アプリケーションセッティングとユーザセッティングの保存(その2)

以前「GDD Blog: [.NET]アプリケーションセッティングとユーザセッティングの保存」でxxx.exe.confingのシステム設定は保存できない。というブログ書きましたが、比較的?簡単な方法で保存する方法を見つけました。

ExeConfigurationFileMap map = new ExeConfigurationFileMap();
map.ExeConfigFilename = Application.ExecutablePath + ".config";
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(mapConfigurationUserLevel.None);
SettingElementCollection settings = ((ClientSettingsSection)(config.SectionGroups["applicationSettings"].Sections[0])).Settings;

//ここで設定した値が以下のSaveで保存される
settings.Get("キー").Value.ValueXml.InnerText = "値"

dataGridView1.Columns[1].DefaultCellStyle.Format = "";
config.Save(ConfigurationSaveMode.Minimal,true);


えぇまぁ強引なやり方です。
しかし、この方式だと、configの最後に

<system.web>
    <trust level="Full">
    <webcontrols clientscriptslocation="/aspnet_client/{0}/{1}/">
</system.web>


というのがついてしまいます。この辺が気になる人にはつかえませんが、許せる人は参考までに。

0 件のコメント: