このチュートリアル シリーズでは、Visual Studio 2012 または Visual Studio 2010 を使用して、ASP.NET Web アプリケーションを Azure App Service Web Apps またはサード パーティのホスティング プロバイダーにデプロイ (発行) する方法について説明します。 シリーズの詳細については、シリーズ の最初のチュートリアルを参照してください。
概要
一部の配置オプションは、プロジェクト ファイル ( .csproj または .vbproj ファイル) に格納されているプロジェクト プロパティで構成されます。 ほとんどの場合、これらの設定の既定値は必要ですが、Visual Studio に組み込まれている Project Properties UI を使用して、これらの設定を変更する必要がある場合に使用できます。 このチュートリアルでは、[ プロジェクトのプロパティ] の展開設定を確認します。 また、空のフォルダーを展開するプレースホルダー ファイルも作成します。
プロジェクトのプロパティ ウィンドウで配置設定を構成する
デプロイ時の動作に影響するほとんどの設定は、次のチュートリアルに示すように発行プロファイルに含まれています。 注意する必要があるいくつかの設定は、[プロジェクトのプロパティ] ウィンドウの [パッケージ/発行] タブにあります。 これらの設定はビルド構成ごとに指定されます。つまり、リリース ビルドの設定は、デバッグ ビルドの場合とは異なる場合があります。
ソリューション エクスプローラーで、ContosoUniversity プロジェクトを右クリックし、[プロパティ] を選択し、[Web のパッケージ/発行] タブを選択します。
ウィンドウが表示されると、ソリューションで現在アクティブになっているビルド構成の設定が既定で表示されます。 [構成] ボックスにアクティブ (リリース) が表示されない場合は、[リリース] を選択して、リリース ビルド構成の設定を表示します。 リリース ビルドは、テスト環境と運用環境の両方にデプロイします。
[アクティブ (リリース)] または [リリース] を選択すると、リリース ビルド構成を使用してデプロイするときに有効な値が表示されます。
- [ 展開する項目 ] ボックスで、 アプリケーションの実行に必要なファイルのみが 選択されています。 その他のオプションは、 このプロジェクト内のすべてのファイル または このプロジェクト フォルダー内のすべてのファイルです。 既定の選択はそのままにすることで、たとえばソース コード ファイルをデプロイしないようにします。 この設定は、SQL Server Compact バイナリ ファイルを含むフォルダーをプロジェクトに含める必要があった理由です。 この設定の詳細については、「Web アプリケーション プロジェクトの配置に関する FAQ」の「プロジェクト フォルダー内のすべてのファイルが配置されない理由」ASP.NET 参照してください。
- 生成されたデバッグ シンボルを除外する が選択されています。 このビルド構成を使用する場合、デバッグは行われません。
- [SQL のパッケージ化/発行] タブで構成されているすべてのデータベースを含める ] が選択されています。 Visual Studio でデータベースとファイルをデプロイするかどうかを指定します。 チェック ボックスのラベルには [ SQL のパッケージ/発行 ] タブのみが表示されますが、このチェック ボックスをオフにすると、発行プロファイルで構成されているデータベースのデプロイも無効になります。 これは後で行うので、チェック ボックスはオンのままにする必要があります。 [ SQL のパッケージ/発行 ] タブは、これらのチュートリアルでは使用しない従来のデータベース発行方法に使用されます。
- これらのチュートリアルではワンクリック発行を使用しているため 、[Web 展開パッケージの設定] セクションは適用されません。
[ 構成 ] ドロップダウン ボックスを [デバッグ] に変更して、デバッグ ビルドの既定の設定を表示します。 値は同じですが、デバッグ ビルドのデプロイ時にデバッグできるように、 生成されたデバッグ シンボルの除外 がクリアされる点が異なります。
El mah フォルダーがデプロイされていることを確認します
前のチュートリアルで説明したように、 El mah NuGet パッケージ には、エラーログとレポート機能が用意されています。 Contoso University アプリケーションで、El mah という名前のフォルダーにエラーの詳細を格納するように 構成されています。
展開から特定のファイルまたはフォルダーを除外することは一般的な要件です。もう 1 つの例は、ユーザーがファイルをアップロードできるフォルダーです。 開発環境で作成されたログ ファイルやアップロードされたファイルを運用環境にデプロイする必要はありません。 また、運用環境に更新プログラムをデプロイする場合は、運用環境に存在するファイルをデプロイ プロセスで削除しないようにします。 (展開オプションを設定する方法に応じて、展開先サイトにファイルが存在するが、展開時にソース サイトには存在しない場合、Web 配置によってコピー先から削除されます)。
このチュートリアルで既に説明したように、[Web のパッケージ/発行] タブの [展開する項目] オプションは、このアプリケーションを実行するために必要なファイルのみに設定されます。 その結果、開発中にElmahによって作成されたログファイルはデプロイされません。それが望む結果です。 (展開するには、プロジェクトに含める必要があり、 Build Action プロパティを Content に設定する必要があります。詳細については、「 プロジェクト フォルダー内のすべてのファイルが配置されない理由 」を参照してください。 Web アプリケーション プロジェクトの配置に関する FAQ ASP.NET 参照してください。 ただし、コピー先サイトにコピーするファイルが少なくとも 1 つ存在しない限り、Web 配置ではフォルダーは作成されません。 そのため、フォルダーがコピーされるように、プレースホルダーとして機能する .txt ファイルをフォルダーに追加します。
ソリューション エクスプローラーで、El mah フォルダーを右クリックし、[新しい項目の追加] を選択し、Placeholder.txtという名前のテキスト ファイルを作成します。 次のテキストを "フォルダーが確実に展開されるようにするプレースホルダー ファイルです" と入力し、ファイルを保存します。 .txtファイルのビルド アクション プロパティは既定で Content に設定されているため、Visual Studio でこのファイルとそのフォルダーが確実に配置されるようにするために必要な操作はこれで完了です。
まとめ
これで、すべてのデプロイ セットアップ タスクが完了しました。 次のチュートリアルでは、Contoso University サイトをテスト環境にデプロイし、そこでテストします。