Visual Studio には、公開時に Web.config を変換する素晴らしい機能があることがわかっています。したがって、Web.Release.config で次のようなものを使用して、Web.config の元の値を置き換えることができます。
Web.config:
<add key="SomeKey" value="DebugValue"/>
Web.Release.config:
<add key="SomeKey" value="ReleaseValue" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
変換設定にタイプミスがない限り、これで問題ありません。たとえば、変換構成に次の行があるとします。
<add key="SomeKeyTypo" value="ReleaseValue" xdt:Transform="Replace" xdt:Locator="Match(key)"/>
次に、変換がキーを見つけられず、この警告を黙って出力するため、"SomeKey" 項目は置き換えられません。
...\Web.Release.config: Warning : No element in the source document matches '/configuration/appSettings/add[@key='SomeKeyTypo']'
問題は、メインのWeb.config でキーを変更し、Web.Release.config でキーを変更するのを忘れた場合など、一部の状況では、発行時に発行出力メッセージを読み取らない可能性が高いことです。警告を見逃すと、リリース値の代わりにデバッグ値がアプリケーションで使用されるため、災害につながる可能性があります。
したがって、問題は、Web.Release.config で変換を定義するときに、指定されたアイテムを置き換える必要があることを示す方法があり、キーが見つからない場合は警告ではなくエラーをスローし、基本的にエラー コードで公開を終了することです。 ?