私は、サービスが必要とするすべてのもの (ログ構成、WCF 構成、カスタム構成、および接続文字列) を含む単一の app.config ファイルを使用する Windows サービス ホスト プロジェクトを含むソリューションで作業しています。
私が実際に作業する方法は、ユーザーが本番環境で何か問題があると文句を言うときです。app.config ファイルを編集し、接続文字列を変更して本番データベースを指すようにし、サービス ホスト プロジェクトを再コンパイルしてから、アプリケーションを実行します。何が起こっているかを確認するための開発環境。
本番環境ではリスクが高すぎるテストを行う必要がある場合は、app.config ファイルを再度編集し、app.config ファイルを変更してテスト データベースを指すようにし、サービス ホスト プロジェクトを再コンパイルします。私が行くところ...
環境を切り替えるたびに app.config ファイルを編集する負担を避けるために、"Production" ビルド構成と "Test" ビルド構成を作成することにしました。環境ごとに 1 つずつ、2 つの追加の構成ファイルを追加しました。これらは、接続文字列がそれぞれのデータベースを指すことを除いて、メインの app.config ファイルのレプリカです。プロジェクトのビルド前イベントを変更して、選択したビルド構成に応じて環境の app.config ファイルをコピーするコードを含めました。
その方法について2つの懸念があります。
app.config ファイル (WCF、ロギングなど) で変更するものが他にある場合は、他のファイルで変更を複製することを忘れないでください。(私は赤い魚と同じくらい多くの記憶を持っているので、私にとって大きな問題です)
追加のビルド イベント、プロジェクト ディレクトリ内の追加のファイルなどのために、プロジェクトをより複雑にするのは嫌いです。
各ビルド構成は、異なるディレクトリに出力されます。そのデータ ソースの問題を克服するためだけに、同じコードを複製するのは嫌いです。
複数の環境で作業するためのより簡単な方法を提案できる人はいますか?
前もって感謝します。