1. ホーム
  2. asp.net

[解決済み】開発環境と本番環境で異なるWeb.configを使用する。

2022-04-12 11:18:25

質問

ASP.NETアプリケーションで、開発環境と本番環境とで異なるデータベース接続文字列とSMTPサーバーアドレスを使用する必要があります。

アプリケーションは、Web.config ファイルから WebConfigurationManager.AppSettings プロパティがあります。

私は、Build/Publishコマンドを使用して、FTP経由で本番サーバーにアプリケーションをデプロイし、リモートのWeb.configを正しいものに手動で置き換えています。

どうにかして、デプロイのプロセスを簡略化することはできないでしょうか?ありがとうございます。

どのように解決するのですか?

Visual Studio 2010 以降では、ビルド構成に応じて web.config に変換を適用する機能が追加されました。

web.config を作成する際、ソリューションエクスプローラーでファイルを展開すると、2つのファイルが表示されます。

  • Web.Debug.Config
  • Web.リリース.コンフィグ

に使用できる変換コードが含まれています。

  • 接続文字列の変更
  • デバッグトレースと設定の削除
  • エラーページの登録

参照 WebアプリケーションプロジェクトのデプロイメントにおけるWeb.config変換構文 をMSDNでご覧ください。

また、公式にはサポートされていませんが、同じ種類の変換を非ウェブアプリケーションに適用することも可能です。 app.config ファイルを作成します。参照 フィル・ボルデュックブログ msbuildに新しいタスクを追加するためにプロジェクトファイルを変更する方法について。

これは、長年の Visual Studio ユーザボイスでの要望 .

An Visual Studio 2010 用の拡張機能 以上、"。 スローチーター ,"が用意されており、任意の設定ファイルに対するtransformの作成を請け負うことができます。Visual Studio 2017.3から。 SlowCheetahがIDEに統合されました。 で、コードベースはマイクロソフトが管理しています。今回の新バージョンでは、JSONの変換もサポートしています。