21

アプリケーション設定を 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 に設定されるようにするためのマクロ アプローチまたはその他の方法を提案するかどうかです。

ありがとう!

4

1 に答える 1

54

プロジェクト プロパティ セクションの設定からアクセスできるエディターで Visual Studio ビルドから設定を作成および変更したと仮定します。同じエディターに、内部からパブリックに変更する必要があるコンボボックスがあり、アクセス修飾子としてマークされています。

ここに画像の説明を入力

于 2012-08-08T21:56:48.640 に答える