別PGから同じDLLを使用したシステム開発を依頼された。
で、外部に設定値としてConfigファイルを持たせることに。
ただ、通常ではEXE単位(userSettingsだとさらにユーザ単位)にConfigを持つわけで。
全PGにDLLの情報を持たせるのはめんどくさいし
出来れば変更内容を別EXEにも反映させたい。
で、お決まりのググる作業w
まず、設定の統一化
各PGの App.Config (コンパイル後は[PG名].exe.config)から同一のconfigファイルを参照させる
各PGのApp.configのApplicationSettingを改造
例 改造前 各PGのApp.config
<applicationSettings>
<TestSys.TestLibs.My.MySettings>
<setting name="TESTDATA" serializeAs="String">
<value>100</value>
</setting>
</TestSys.TestLibs.My.MySettings>
</applicationSettings>
↓
改造後 各PGのApp.config
<applicationSettings>
<TestSys.TestLibs.My.MySettings configSource="TestCommon.config"/>
</applicationSettings>
共通のConfigファイル(ここでは仮にTestCommon.config)
<TestSys.TestLibs.My.MySettings>
<setting name="TESTDATA" serializeAs="String">
<value>100</value>
</setting>
</TestSys.TestLibs.My.MySettings>
これで同一ファイルへの参照が可能
でPGから設定内容を変更したい場合はTestCommon.configを直接変更かける仕組みを
追加する
内容はSystem.Xml.XmlDocument でxmlファイルへ出力
0 件のコメント:
コメントを投稿