更新日付

最新投稿:素戔嗚神社(藤戸)
投稿日:2024年11月28日
既存投稿更新:高岡神社
更新日:2024年10月6日

2014年1月13日月曜日

.NETでのPG間共通Config

別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 件のコメント:

コメントを投稿