アプリケーション設定を 1 つの場所に集中化する過程にあり、そのために共通ライブラリの設定コレクションを使用することにしました。
これらの設定はすべて、構成ソースを使用して app.config に取り込まれる独自のファイルに移動しました。
<Common.Properties.Settings configSource="config\Common.Properties.Settings.config" />
これにより、Visual Studio の [リンクの追加] 機能を使用して、Web およびテスト アプリケーション内のインポートされた構成ファイルで既定のライブラリ設定をオーバーライドできます。
ここで、他のライブラリ内からこれらすべての優れた設定値にアクセスできるようにしたいと考えており、生成されたクラスをパブリックにするだけでアクセスできることがわかりました。
ファイル: Common.Properties.Settings
public sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
Common.Properties.Settings.Default.MySetting
これにより、Web アプリケーションや単体テスト内などからアクセスできるようになります。ただし、問題は、新しい設定が追加されるたびに、Visual Studio によって Setting.settings ファイルが再生成され、Settings クラスが内部に戻されることです。
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
したがって、私の質問は、これをオーバーライドする方法を誰かが知っているかどうか、または Settings.settings ファイルが再構築された後にこのクラスが public に設定されるようにするためのマクロ アプローチまたはその他の方法を提案するかどうかです。
ありがとう!