Xcopy デプロイを使用して ASP.NET Web アプリケーションをデプロイする

この記事では、MS-DOS Xcopy コマンドを使用して Microsoft ASP.NET Web アプリケーションをデプロイする方法について説明します。

元の製品バージョン: ASP.NET
元の KB 番号: 326355

概要

Xcopy スタイルのデプロイは、すべての状況に適しているわけではありません。 大規模な Web サイトや基幹業務アプリケーションの場合は、サイトを一時的にオフラインにすることをお勧めします。 新しいコンテンツとアプリケーション アセンブリのデプロイ中に行う必要があります。 このメンテナンスは、スケジュールされた便利な時間に行うことができます。 スケジュールされたダウンタイムを最小限に抑えるには、次の手順に従います。

  1. 更新するアプリケーションの新しい物理ディレクトリを作成します。 新しいコンテンツをすべて新しい物理ディレクトリにコピーします。

  2. 新しいコンテンツで新しい物理ディレクトリを指すアプリケーションの仮想ディレクトリを再構成します。

    注:

    ASP.NET Web アプリケーションに新しいコンテンツをデプロイすると、アプリケーションが再起動する可能性があります。 大規模なアプリケーションと、大量のメモリ要件を持つ複雑なアプリケーションがある場合は、メモリ消費量が増加する可能性があります。 アプリケーションを再起動すると、サポート可能性の問題が発生する可能性があります。 これには、ユーザー セッション状態の損失が含まれます。

Xcopy デプロイとは

Xcopy 展開では、Microsoft Windows エクスプローラー、ファイル転送プロトコル (FTP)、または DOS Xcopy コマンドのドラッグ アンド ドロップ機能を使用して、ファイルを別の場所にコピーする ASP.NET での展開について説明します。 ASP.NET アプリケーションでは、レジストリを変更する必要はなく、ホストされているサイト上のホスト会社に特別なインストール要件はありません。

Xcopy デプロイの利点

Xcopy 形式のファイル転送では、レジストリ エントリを作成せず、コンポーネントを登録しないため、ASP.NET サイトの展開とメンテナンスが簡略化されます。 Microsoft .NET アプリケーションは自己記述型であり、通常は依存関係がありません。 アセンブリのバージョン管理では、Web サーバーを停止することなく、アプリケーションで使用されるダイナミック リンク ライブラリ (DLL) の新しいコピーをコピーすることもできます。

Visual Studio .NET での Xcopy 展開とプロジェクトのコピーの違い

Xcopy の展開では、開発用コンピューターまたは Web サーバーに特別なソフトウェアをインストールする必要はありません。 Visual Studio .NET Copy Project メソッドでは、リモート サーバーに Microsoft FrontPage Server Extensions (FPSE) をインストールする必要があります。 Xcopy を使用すると、最近編集したファイルのみを置き換えることもできます。 ファイルを手動で選択して置き換えるか、コマンドのスイッチを/dXcopy使用して日付を指定できます。

xcopy source [destination] /D:m-d-y

仮想ディレクトリを IIS アプリケーションとして設定する

宛先ディレクトリをまだ設定していない場合は、ファイルを転送する前に、Microsoft インターネット インフォメーション サービス (IIS) でアプリケーションとして設定する必要があります。 仮想ディレクトリを設定するには、次の手順に従います。

  1. [ スタート] をクリックし、[ プログラム] をポイントし、[ 管理ツール] をポイントして、[ Internet Services Manager] をクリックします。
  2. 左側のウィンドウで、仮想ディレクトリの名前を右クリックし、[ プロパティ] をクリックします。
  3. [アプリケーション設定] の [アプリケーション名] ボックスに、Web サイト名または仮想ディレクトリの名前が表示されていることを確認します。 表示されない場合は、[ 作成] をクリックします。

トラブルシューティング

場合によっては、Xcopy ファイル転送のみで ASP.NET Web アプリケーションのデプロイを完了できない場合があります。 これらのケースには、次のものが含まれます。

  • グローバル アセンブリ キャッシュ (GAC) にインストールする必要があるアセンブリ。 複数のアプリケーション ドメイン間で使用 ASP.NET アセンブリのいずれかを共有する必要がある場合は、Gacutil.exe ユーティリティを使用してそれらのアセンブリを GAC に登録する必要があります。 アプリケーションをデプロイするたびに、アセンブリの登録を解除、置換、再登録する必要があります。

  • コンポーネント オブジェクト モデル (COM) 相互運用機能。 ASP.NET アプリケーションが COM 相互運用機能を介して COM コンポーネントを使用する場合は、COM+ Services にこれらの COM コンポーネントを登録する必要があります。

  • サービス コンポーネント。 MICROSOFT では、Regsvcs.exe ユーティリティを使用して、COM+ サービス (クラスから派生した) を使用するすべてのクラスを System.EnterpriseServices.ServicedComponent 登録することをお勧めします。

関連情報