入れないのがいいんですけどね。ローカルで実行するときに、開発用のキー情報を入れることもあるでしょう。 でもリポジトリには入れたくないという感じ。
App.config を分割する
App.config を作って、こっちには当たり障りない情報を書きます。そして、appSettings タグに file 属性があるのでこいつに Secret.config とかって書いておきます。
<?xml version="1.0" encoding="utf-8"?><configuration><appSettings file="Secret.config"><add key="a"value="a"/></appSettings></configuration>
そして Secret.config ファイルを作ってこんな感じにします。プロパティでビルドアクションはコンテンツで常にコピーするようにしておきましょう。
<?xml version="1.0" encoding="utf-8"?><appSettings><add key="b"value="b" /></appSettings>
今回は b の値が秘密って感じですね。あとは Secret.config あたりを .gitignore あたりに追加して完成です。
このときに、ConfigurationManager.AppSettings["a"] も ConfigurationManager.AppSettings["b"] もマージされてるので、どっちの値も取れます。
めでたしめでたし。
まとめ
でもまぁ exe にまとめちゃったら何もしないとプレーンテキストだから残念な感じになりますね。 Azure WebJobs みたいにクラウドで動くプロセスでユーザーのもとに配られないものならありですかね。WebJobs ならポータル側でアプリケーション設定できるので完璧ですね。