同じ公開サイトで終了するさまざまなWebアプリケーションを開発し、異なる設定ファイルを単一のWeb設定にマージするcmsとしてsitecoreを使用します。残念ながら、サイト設定の設定に重複した設定があることがよくあります。web設定のsitecoreで重複する設定キーを防止する
現在、設定ファイルに参加するだけで、すべての重複キーの最後の定義だけが残ります。したがって、後で処理される設定を持つ別の設定ファイルがある場合、設定ファイルの1つを更新すると、マージされたファイルの変更が反映されません。
期待:複数の設定ファイルで1つの設定を定義しないようにしてください。複数の設定ファイルの中に重複したキーがある場合は、静かに上書きしてはいけませんが、エラーをスローして、設定を重複排除できるようにしてください。
誰もがこれを防ぐ方法を知っていますか?たとえば、何かを上書きしないように(またはそれがないときに、少なくともそれはそれについての私達に警告しなければならない)、マージを行うパイプラインをオーバーライドする方法
EDIT 1:
はどのように邪悪な設定を説明するために、
aaa.config:
<configuration><sitecore>
<settings>
<setting name="key0" value "a-value">
<setting name="key1" value "a-value">
</settings>
</sitecore></configuration>
zzz.config:
-joinの仕事はここで2例の設定ファイルである、ですはに参加します:
<configuration><sitecore>
<settings>
<setting name="key0" value "a-value">
<setting name="key1" value "z-value">
<setting name="key2" value "z-value">
</settings>
</sitecore></configuration>
代わりに黙ってファイルを結合する、私は「キー1」は曖昧であると言って例外をスローするためにそれをみたいです!
あなたが 'appsettings'と言うときは、configの' 'セクションを意味するのでしょうか、またはSitecoreの' 'セクションを参照していますか? –
jammykam
それはSitecoreの問題ではなく、あなたの設定をマージしている "他の可能性があるカスタム"ジョブです。Sitecoreは、設定の ''セクション内でのみ設定を結合します。 –
jammykam
@jammykamそれは本当にappsettingsではなく、 ' '内のすべてです。私は質問を更新し、何がうまくいかないかの例を含めました。これを指摘してくれてありがとう。 –