方法: Web アプリケーション プロジェクトの配置時に Web.config を変換する

Web サイトを配置するときに、配置されているアプリケーションの Web.config ファイルの一部の設定を、開発用の Web.config ファイルとは異なる設定にする必要がある場合がよくあります。 たとえば、デバッグ オプションを無効にし、別のデータベースを指すように接続文字列を変更する場合があります。 このトピックでは、配置されているバージョンの Web.config ファイルに変更を加えるために、配置時に自動的に適用される Web.config の変換ファイルを設定する方法を説明します。

Web.config の変換は、配置プロセスを自動化するために構成できる、一連の幅広い設定の一部です。 自動配置の設定に伴うタスクについては、次のトピックを参照してください。

Web アプリケーション プロジェクトの配置の詳細については、「ASP.NET 配置のコンテンツ マップ」を参照してください。

Web.config ファイルの変更点を指定するには、変換ファイルを使用します。 変換ファイルは、ビルド構成に関連付けられます。 既定では、Visual Studio によって、デバッグ ビルド構成およびリリース ビルド構成が作成されます。 カスタムのビルド構成を作成することもできます。

変換ファイルを作成およびコーディングするには

  1. 存在しないカスタム ビルド構成の変換ファイルを作成する場合は、構成マネージャーを使用して、最初にビルド構成を作成します。

    構成マネージャーを開くには、[ビルド] メニューでこのメニュー項目を選択します。 詳細については、「[構成マネージャー] ダイアログ ボックス」を参照してください。

  2. ソリューション エクスプローラーで、アプリケーションの Web.config ファイルを展開します。

    変換ファイルが既に作成されている場合は、展開できることを示す記号と共に Web.config ファイルがソリューション エクスプローラーに表示され、Web.config ファイルを展開すると、変換ファイルが表示されます。

    変換対象のビルド構成は、ファイル名に含まれる文字列で示されます。 たとえば、デバッグ ビルド構成の変換ファイルは Web.Debug.config という名前です。

  3. 設定を指定するビルド構成の変換ファイルが存在しない場合は、ソリューション エクスプローラーで Web.config ファイルを右クリックし、[構成変換の追加] をクリックします。

  4. 操作するビルド構成の変換ファイルを開きます。

  5. 変換ファイルを編集して、そのビルド構成を使用して配置すると、配置された Web.config ファイルに加える必要がある変更を指定します。

    既定の変換ファイルには、いくつかの一般的な変換のコーディング方法を示すコメントが含まれています。

    次の例は、Match ロケーター属性と SetAttributes 変換属性の使用方法を示しています。 Match ロケーター属性は、connectionStrings セクションの add 要素を、変更対象の要素として識別します。 SetAttributes 変換属性は、この要素の connectionString 属性を "ReleaseSQLServer" に変更する必要があることを指定しています。

    <configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
      <connectionStrings>
        <add name="MyDB" 
          connectionString="ReleaseSQLServer" 
          xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
      </connectionStrings>
    </configuration>
    

    変換ファイルの記述方法の詳細については、「チュートリアル: Web 配置パッケージを使用した Web アプリケーション プロジェクトの配置 (パート 1/4)」および「Web アプリケーション プロジェクト配置の Web.config 変換構文」を参照してください。

  6. 変換ファイルを保存して閉じます。

    選択したビルド構成を使用するか、または配置パッケージあるいはワンクリック発行を使用して Web アプリケーションを配置すると、指定した内容に従って Web.config ファイルが変換されます。

表示: