Web サイトの公開

更新 : 2007 年 11 月

Visual Web Developer では、サイトをコンパイルし、その出力を指定した場所 (運用サーバーなど) にコピーすることにより、Web サイトを公開できます。公開では次のタスクが行われます。

  • ページ、App_Code フォルダ内のソース コードなどを実行可能な出力にプリコンパイルします。

  • 実行可能な出力をターゲット フォルダに書き込みます。

377y0s6t.alert_note(ja-jp,VS.90).gifメモ :

Web サイトの発行ユーティリティは、Visual Web Developer Express Edition では使用できません。

Web サイトを単純にターゲット Web サーバーにコピーすることに比べ、Web サイトの公開には次の利点があります。

  • プリコンパイルにより、コンパイル エラーを検出でき、構成ファイル内のエラーを識別できます。

  • ページがコンパイルされた状態で実行されるため、個々のページの初期応答速度が早くなります。プリコンパイルすることなくページをサイトにコピーした場合、ページは最初の要求時にコンパイルされますが、このコンパイルされた出力はキャッシュされます。

  • プログラム コードがサイトに配置されません。これによりセキュリティが高まります。マークアップ保護付きまたはマークアップ保護なしでサイトを公開できます。マークアップ保護付きの場合 .aspx ファイルはコンパイルされます。マークアップ保護なしの場合は .aspx ファイルがそのままサイトにコピーされ、配置後にレイアウトを変更できます。

    377y0s6t.alert_note(ja-jp,VS.90).gifメモ :

    GAC に登録されているカスタム コンポーネントへの参照を含むアプリケーションを公開した場合、そのコンポーネントはアプリケーションと共には公開されません。詳細については、「方法 : Web サイトに .NET コンポーネントまたは COM コンポーネントへの参照を追加する」を参照してください。

詳細については、「ASP.NET のプリコンパイルの概要」を参照してください。

プリコンパイル

公開の最初の段階として、Web サイトのプリコンパイルが行われます。公開のプリコンパイルは、その場でのプリコンパイル (Visual Web Developer ではビルド) とは多少異なります。プリコンパイルでは、ページがブラウザで要求されたときに動的にコンパイルされる際に通常行われるコンパイル プロセスと同じコンパイル プロセスが実行されます。プリコンパイラは、ページからアセンブリを生成します。これにはマークアップとコードが含まれます。また、App_Code、App_GlobalResources、App_LocalResources、および App_Themes の各フォルダ内のファイルもコンパイルします。

シングル ファイル ASP.NET ページと分離コード ページの両方をコンパイルできます。これら 2 つのモデルの詳細については、「ASP.NET Web ページのコード モデル」を参照してください。

プリコンパイルかビルドかの選択

公開用のプリコンパイルと、テスト時に Web サイトをビルドする際に発生するコンパイルとは異なります。‎ビルドでは、サイト、または現在のページとその依存ファイルがコンパイルされ、実行されます。ビルド プロセスは、テストの 1 つの形式で、配置できる出力を生成するものではありません。一方、公開用のプリコンパイルでは、運用サーバーに配置できる指定のフォルダに出力が作成されます。

プリコンパイルされた出力の書き込み

プリコンパイルが終了すると、指定したフォルダに出力結果が書き込まれます。出力は、ファイル システム内の、ファイル転送プロトコル (FTP: File Transfer Protocol) を使用してまたは HTTP 経由でアクセスできる任意のフォルダに書き込むことができます。ターゲット サイトに書き込むためには、適切なアクセス許可が必要です。

377y0s6t.alert_note(ja-jp,VS.90).gifメモ :

公開では、Web サイトのフォルダまたはサブフォルダ内のファイルのみ配置されます。Machine.config ファイルは配置されません。したがって、ターゲット Web サーバーの構成はローカル コンピュータの構成と異なる可能性があり、これは、アプリケーションの動作に影響する場合があります。

ステージング サーバーまたは運用サーバー上のターゲット フォルダを指定することもできますし、ローカル コンピュータ上のフォルダに出力を書き込むこともできます。運用サーバー上のフォルダを指定した場合、シングル ステップでプリコンパイルと配置を行うことができます。Web サイトに含まれないフォルダに出力を書き込むように選択した場合でも、別のステップで出力をサーバーにコピーできます。

377y0s6t.alert_note(ja-jp,VS.90).gifメモ :

プリコンパイル済みの Web サイトを Visual Studio で開いても、このサイトを構築することはできません。ビルド オプションが無効になっています。元の Web サイト内でファイルを編集し、サイトをプリコンパイルして再度発行することをお勧めします。

コンパイルの出力には、コードまたはページのコンパイル済みアセンブリが含まれます。プリコンパイル済みサイトの更新を許可するオプションを選択した場合、.aspx ファイル、.asmx ファイル、および .ashx ファイルの分離コード クラスはアセンブリにコンパイルされます。ただし、.aspx ファイル、.asmx ファイル、および .ashx ファイルそのものはターゲット フォルダにそのままの形でコピーされ、サイトの配置後にレイアウトを変更できるようになります。更新できるプリコンパイル済みサイトでのシングルファイル ページのコードは、アセンブリにコンパイルされませんが、ソース コードとして配置されます。

静的ファイルはコンパイルされません。これらのファイルは出力フォルダにそのままの形でコピーされます。静的ファイルには、グラフィックス、.htm ファイルまたは .html ファイル、テキスト ファイルなどがあります。

エラーがプリコンパイル中に発生した場合、[出力] ウィンドウと [エラー一覧] ウィンドウに表示されます。プリコンパイル中にエラーが発生すると、サイトはコンパイルも公開もされません。

参照

処理手順

チュートリアル : Web サイトの公開

概念

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