Visual Studio を使用してサイトを配置する (VB)

作成者: Scott Mitchell

PDF のダウンロード

Visual Studio には、Web サイトをデプロイするためのツールが含まれています。 これらのツールの詳細については、このチュートリアルを参照してください。

はじめに

前のチュートリアルでは、単純な ASP.NET Web アプリケーションを Web ホスト プロバイダーにデプロイする方法について説明しました。 具体的には、FileZilla などの FTP クライアントを使用して、必要なファイルを開発環境から運用環境に転送する方法について説明しました。 Visual Studio には、Web ホスト プロバイダーへのデプロイを容易にする組み込みのツールも用意されています。 このチュートリアルでは、次の 2 つのツールについて説明します。[Web サイトのコピー] ツールでは、FTP または FrontPage Server 拡張機能を使用してリモート Web サーバーとの間でファイルを移動できます。および発行ツール。Web サイト全体を指定した場所にコピーします。

注意

Visual Studio によって提供されるもう 1 つの展開関連ツールは、 Web セットアップ プロジェクト アドインです。 Web セットアップ プロジェクトは、Web サイトの内容と構成情報を 1 つの MSI ファイルにパッケージ化します。 このオプションは、イントラネット内に展開されている Web サイト、または顧客が独自の Web サーバーにインストールする事前にパッケージ化された Web アプリケーションを販売する企業に最も役立ちます。 Web 配置プロジェクト Add-In は、開発環境と運用環境のビルド間の構成の違いを簡単に指定できる Visual Studio Add-In です。 Web セットアップ プロジェクトについては、このチュートリアル シリーズでは説明しません。Web 配置プロジェクトの概要については、「 開発と運用の一般的な構成の違い 」チュートリアルを参照してください。

Web サイトのコピー ツールを使用したサイトの展開

Visual Studio の Web サイトのコピー ツールは、スタンドアロン FTP クライアントの機能に似ています。 簡単に言うと、Web サイトのコピー ツールを使用すると、FTP または FrontPage Server 拡張機能を使用してリモート Web サイトに接続できます。 FileZilla のユーザー インターフェイスと同様に、Web サイトのコピー ユーザー インターフェイスは 2 つのペインで構成されます。左側のウィンドウにはローカル ファイルが一覧表示され、右側のウィンドウにはコピー先サーバー上のファイルが一覧表示されます。

注意

Web サイトのコピー ツールは、Web サイト プロジェクトでのみ使用できます。 Visual Studio では、Web アプリケーション プロジェクトを操作するときにこのツールが提供されます。

Web サイトのコピー ツールを使用してブック レビュー アプリケーションを運用環境に発行する方法を見てみましょう。 Web サイトのコピー ツールは、Web サイト プロジェクト モデルを使用するプロジェクトでのみ機能するため、このツールを BookReviewsWSP プロジェクトでのみ使用して調べることができます。 そのプロジェクトを開きます。

[Web サイトのコピー] ツール プロジェクトを起動するには、ソリューション エクスプローラーの [Web サイトのコピー] アイコンをクリックします (このアイコンは図 1 で丸で囲まれています)。または、[Web サイトのコピー] オプションを [Web サイトのコピー] メニューから選択することもできます。 どちらの方法でも、図 1 に示す Web サイトのコピー ユーザー インターフェイスが起動します。リモート サーバーにまだ接続していないため、図 1 の左側のウィンドウのみが設定されます。

Web サイトのコピー ツールのユーザー インターフェイスは、2 つのウィンドウに分かれています

図 1: Web サイト のコピー ツールのユーザー インターフェイスが 2 つのウィンドウに分割されている (フルサイズの画像を表示する をクリックします)

サイトを展開するには、まず Web ホスト プロバイダーに接続する必要があります。 [Web サイトのコピー] ユーザー インターフェイスの上部にある [接続] ボタンをクリックします。 これにより、図 2 に示す [Web サイトを開く] ダイアログ ボックスが表示されます。

移行先 Web サイトに接続するには、左側から 4 つのオプションのいずれかを選択します。

  • ファイル システム - コンピューターからアクセスできるフォルダーまたはネットワーク共有にサイトを展開するには、これを選択します。
  • ローカル IIS - このオプションを使用して、コンピューターにインストールされている IIS Web サーバーにサイトを展開します。
  • FTP サイト - FTP を使用してリモート Web サイトに接続します。
  • リモート サイト - FrontPage Server Extensions を使用してリモート Web サイトに接続します。

ほとんどの Web ホスト プロバイダーは FTP をサポートしていますが、FrontPage Server 拡張機能のサポートが少なくなります。 そのため、[FTP サイト] オプションを選択し、図 2 に示すように接続情報を入力しました。

[Web サイトを開く] ダイアログのスクリーンショット。接続情報がテキスト フィールドに入力されていることを示しています。

図 2: リンク先 Web サイトを指定する (クリックするとフルサイズの画像が表示されます)

接続後、Web サイトのコピー ツールは、右側のウィンドウのリモート サイトにファイルを読み込み、各ファイルの状態を示します(新規、削除済み、変更済み、変更なし)。 ローカル サイトからリモート サイトにファイルをコピーすることも、その逆にすることもできます。

BookReviewsWSP プロジェクトに新しいページを追加し、Web サイトのコピー ツールの動作を確認できるように配置してみましょう。 という名前 Privacy.aspxのルート ディレクトリに Visual Studio で新しい ASP.NET ページを作成します。 ページでマスター ページ Site.master を使用し、サイトのプライバシー ポリシーをこのページに追加します。 図 3 は、このページが作成された後の Visual Studio を示しています。

Web サイトのルート フォルダーに新しいページの名前付き <コード>Privacy.aspx</コード> を追加する

図 3: Web サイトのルート フォルダーにという名前 Privacy.aspx の新しいページを追加する (フルサイズの画像を表示する をクリックします)

次に、Web サイトのコピー ユーザー インターフェイスに戻ります。 図 4 に示すように、左側のウィンドウには新しいファイル と Policy.aspxPolicy.aspx.vbが含まれるようになりました。 さらに、これらのファイルは矢印アイコンと [新規] の状態でマークされ、ローカル サイトには存在し、リモート サイトには存在しないことを示します。

Web サイトのコピー ツールの左側のウィンドウに新しい <コード>Privacy.aspx</コード> ページが含まれています

図 4: Web サイトのコピー ツールの左側のウィンドウに新しい Privacy.aspx ページが含まれています (フルサイズの画像を表示する をクリックします)

新しいファイルを展開するには、それらを選択し、矢印アイコンをクリックしてリモート サイトに転送します。 転送が完了すると、 Policy.aspx ローカル サイトと Policy.aspx.vb リモート サイトの両方にファイルが存在し、状態が [変更なし] になります。

[Web サイトのコピー] ツールでは、新しいファイルの一覧に加えて、ローカル サイトとリモート サイトの間で異なるファイルが強調表示されます。 この動作を確認するには、ページに Privacy.aspx 戻り、プライバシー ポリシーにもう少し単語を追加します。 ページを保存し、Web サイトのコピー ツールに戻ります。 図 5 に示すように、左側の Privacy.aspx ウィンドウのページの状態は [変更済み] で、リモート サイトと同期していません。

Web サイトのコピー ツール コード>Privacy.aspx</コード> ページが変更されたことを示します<

図 5: Web サイトのコピー ツールは、ページが変更されたことを示します Privacy.aspx (フルサイズの画像を表示する をクリックします)。

[Web サイトのコピー] ツールは、最後のコピー操作以降にファイルが削除されたかどうかも示します。 ローカル プロジェクトから を Privacy.aspx 削除し、[Web サイトのコピー] ツールを更新します。 ファイルと Privacy.aspx.vb ファイルはPrivacy.aspx左側のウィンドウに一覧表示されたままですが、最後のコピー操作以降に削除されたことを示す [削除済み] 状態になります。

Web アプリケーションの発行

Visual Studio 内から Web アプリケーションをデプロイするもう 1 つの方法は、[ビルド] メニューからアクセスできる [発行] オプションを使用することです。 [発行] オプションを使用すると、アプリケーションが明示的にコンパイルされ、必要なすべてのファイルが指定したリモート サイトにコピーされます。 後ほど説明しますが、Web サイトのコピー ツールよりも [発行] オプションの方が鈍いです。 [Web サイトのコピー] ツールを使用すると、ローカル サイトとリモート サイト上のファイルを調べ、必要に応じて個々のファイルをアップロードまたはダウンロードできますが、[発行] オプションを使用すると、Web アプリケーション全体が展開されます。

必要なすべてのファイルを指定したリモート サイトにコピーするだけでなく、[発行] オプションもアプリケーションを明示的にコンパイルします。 Web アプリケーション プロジェクトを明示的にコンパイルする必要がある場合、Web アプリケーション プロジェクトで [発行] オプションを使用できるのは驚くべきではありません。 少し驚くべきことは、[発行] オプションが Web サイト プロジェクトでも使用できることです。 「 展開する必要があるファイルの決定 」チュートリアルで説明したように、Web サイト プロジェクトは、事前コンパイルと呼ばれるプロセスを通じて明示的に コンパイルできます。 このチュートリアルでは、Web アプリケーション プロジェクトで [発行] オプションを使用することに重点を置いています。今後のチュートリアルでは、コンパイル前について説明します。この時点で、Web サイト プロジェクトで [発行] オプションを使用して確認します。

注意

[発行] オプションは、Web サイト プロジェクトと Web アプリケーション プロジェクトの両方に対して Visual Studio で使用できます。Visual Web Developer では、Web アプリケーション プロジェクトの発行オプションのみが提供されます。

[発行] オプションを使用して Book Reviews アプリケーションを展開する方法を見てみましょう。 まず、Visual Studio で BookReviewsWAP (Web アプリケーション プロジェクト) を開きます。 [発行] メニューの [Build BookReviewsWAP] プロジェクトを選択します。 これにより、他の構成オプションの中でも、ターゲットの場所を確認するダイアログ ボックスが表示されます (図 6 を参照)。 Web サイトのコピー ツールと同様に、ローカル フォルダー、IIS 上のローカル Web サイト、FrontPage Server Extensions をサポートするリモート Web サイト、FTP サーバー アドレスを指す場所を入力できます。 リモート Web サーバー上のファイルを展開されたファイルに置き換えるか、発行する前にリモート サイト上のすべてのコンテンツを削除するかを選択できます。 コピーするかどうかを指定することもできます。

  • 不要なソース コードとプロジェクト関連のファイルを省略する、アプリケーションの実行に必要なプロジェクト内のファイルのみ。
  • すべてのプロジェクト ファイル。ソース コード ファイルと Visual Studio プロジェクト ファイル (ソリューション ファイルなど) が含まれます。
  • ソース プロジェクト フォルダー内のすべてのファイル。プロジェクトに含まれているかどうかに関係なく、ソース プロジェクト フォルダー内のすべてのファイルがコピーされます。

フォルダーの内容 App_Data をアップロードするオプションもあります。

[Web の発行] ダイアログのスクリーンショット。[発行する前に既存のすべてのファイルを削除する] チェックボックスと [実行に必要なファイルのみ] チェックボックスが表示されています。

図 6: 変換先 Web サイトを指定する (クリックするとフルサイズの画像が表示されます)

ブック レビュー アプリケーションの場合、リモート サイトには、Web サイトのコピー ツールを使用して BookReviewsWSP プロジェクトをコピーするときに展開されたファイルが含まれます。 そのため、既存のすべてのコンテンツを削除して、まず [発行] オプションを使用してみましょう。 また、不要なソース コードとプロジェクト ファイルを使用して運用環境を乱雑にするのではなく、必要なファイルをコピーしましょう。 これらのオプションを指定したら、[発行] ボタンをクリックします。 次の数秒間、Visual Studio は必要なファイルをコピー先サイトに展開し、その進行状況を [出力] ウィンドウに表示します。

図 7 は、発行操作が完了した後の FTP サイト上のファイルを示しています。 マークアップ ページと、必要なサーバー側およびクライアント側のサポート ファイルのみがアップロードされていることに注意してください。

必要なファイルのみが運用環境に発行されました

図 7: 必要なファイルのみが運用環境に発行されました (クリックするとフルサイズの画像が表示されます)

[発行] オプションは、[Web サイトのコピー] ツールよりも微妙なツールではありません。 [Web サイトのコピー] ツールを使用すると、ローカル サイトとリモート サイト上のファイルを検査し、それらがどのように異なるかを確認できますが、[発行] オプションにはそのようなインターフェイスはありません。 さらに、Web サイトのコピー ツールを使用すると、個別のファイルのアップロードまたは削除を 1 回限りの変更を行うことができます。 [発行] オプションでは、このようなきめ細かい制御は許可されません。代わりに、アプリケーション 全体 を発行します。 この動作には長所と短所があります。 プラス面では、[発行] オプションを使用すると、重要なファイルのアップロードを忘れることはありません。 ただし、非常に大きな Web サイトに小さな変更を加えた場合はどうなるかを検討してください。[発行] オプションを使用すると、変更されたページを 1 つまたは 2 つ更新することはできませんが、代わりに Visual Studio がサイト全体をデプロイするまで待つ必要があります。

運用環境と開発環境でコンテンツが異なる特定のファイルがあることは珍しくありません。 重要な例は、アプリケーションの構成ファイル Web.configです。 [発行] オプションは Web アプリケーション ファイルを盲目的にコピーするため、運用環境のカスタマイズされた構成ファイルを開発環境のバージョンで上書きします。 以降のチュートリアルでは、このトピックをさらに詳しく説明し、このような違いが存在する場合に Web アプリケーションをデプロイするためのヒントを提供します。

まとめ

Web サイトを展開するには、開発環境から運用環境に必要なファイルをコピーする必要があります。 前のチュートリアルでは、FileZilla などの FTP クライアントを使用してファイルを転送する方法を示しました。 このチュートリアルでは、Visual Studio の 2 つの展開ツール ([Web サイトのコピー] ツールと [発行] オプション) について説明しました。 Web サイトのコピー ツールは、ローカル コンピューター上のファイルを一覧表示する 2 つのパンインターフェイスと、2 台のコンピューター間でファイルを簡単にアップロードまたはダウンロードできる指定されたリモート コンピューターを備えているという点で、FTP クライアントに似ています。 [発行] オプションは、プロジェクトを明示的にコンパイルし、指定した宛先にアプリケーション全体をデプロイする、より鈍いツールです。

幸せなプログラミング!

もっと読む

このチュートリアルで説明するトピックの詳細については、次のリソースを参照してください。