要するに、チェックインできない構成ファイルで、特定の applicationSetting 値を開発マシン専用の特定の値に設定したいのです。このために、user.config ファイルで configSource 属性を使用することを考えていました。ただし、この属性は、ファイルが存在しない場合に例外をスローします。
拡張
次の app.config ファイルを含むライブラリがあります。
<applicationSettings>
<A.NameSpace.Settings>
<setting name="ASettingName" serializeAs="String">
<value>aSettingValue</value>
</setting>
</A.NameSpace.Settings>
</applicationSettings>
別のライブラリがこのライブラリを使用する予定で、2 つのオプションがあり、1 つはもう少し詳しく説明されています
- A.NameSpace.Settings ノードに入力しないため、デフォルト
aSettingValue
が使用されます - 新しく構成された値が使用されるように、A.NameSpace.Settings ノードに入力します。
これは、セットアップを準備するビルド スクリプトが環境依存のパラメーター (例: サーバー名、ポートなど) を置き換えることができるため、便利です。
3 つ目のオプションは、app.config を次のようにすることです。
<applicationSettings>
<A.NameSpace.Settings configSource="user.config" />
</applicationSettings>
チェックインされていないファイルに同じ値を定義しuser.config
ます。これは素晴らしいことです。ただし、非開発環境では、この user.config ファイルは存在してはならず、ファイルが見つからない場合は例外がスローされます。
開発マシンのみの構成値を定義するにはどうすればよいですか?