[ASP.NET] Web アプリケーションのデバッグ

Web アプリケーションを構築するとき、通常は「ASP.NET Web アプリケーション」を選択する。 その場合、プロジェクトを開く度に Web サーバへアクセスするので、 その分のオーバーヘッドがある為に遅いし、Web ディレクトリのアクセス権の設定などがやや面倒。

そこで、次のように単純アプリとしてデバッグするようにすると、開発者のストレスが減る。

Web アプリを 単純アプリ にしてしまう

Visual Studio .NET 2003 では、次の手順でプロジェクトを作成する。

  • [ファイル] → [新規作成] → [プロジェクト] で、VB または C# のプロジェクトを選択して「ASP.NET Web アプリケーション」を選択する。
  • プロジェクトの場所は Web サーバ上でなければ作成できないので、ここは Web 上のディレクトリ(http:// で始まる場所。デバッグをローカル環境で行う場合は localhost が Web サーバとなるはず)を選択する。このとき、この Web ディレクトリに対応するローカルディレクトリを確認しておく。
  • プロジェクトに既存ファイルを追加する場合は、上記で作成された Web ディレクトリに対応するローカルディレクトリにファイルを配置(コピー)し、ソリューションエクスプローラなどから「既存項目の追加」を選択して追加する。このとき、デフォルトの位置が Web サーバ上のファイルを指すようになっているので、ローカルディレクトリからのパスでファイルを指定する(でないと、ディレクトリのアクセス権などいろいろ面倒)。
  • プロジェクトをいったん閉じて、プロジェクトファイル(*.csproj)をテキストエディタなどで開く。その先頭の方に "ProjectType?" という項目を見つける。これが「ProjectType?="Web"」となっているので、これを空文字 "" にしてしまうか、或いは "Local" とする(空文字にした場合は、VS が自動的にここを "Local" に書き換えるみたい)。
  • *.webinfo というファイルがあるので、それをテキストエディタで開く。 "URLPath" という項目を見つける。これが、Web サーバ上のパスになっているので、ローカルパスに書き換える。大抵は、「URLPath="http://(Web サーバ名)/(パス)/(プロジェクトファイル名; *.csprj)"」などとなっているので、これをプロジェクトファイル名だけ「URLPath=*.csprj」にしてしまえば良い。
  • 再び、プロジェクトファイルを開く。プロジェクトのプロパティを開いて「共通プロパティ」の「出力の種類」が「クラスライブラリ」となっていることを確認する。他のものが選択されている場合は「クラスライブラリ」にする。

以上で、Web アプリケーションを 単純アプリケーションとして構築できるようになる。

デバッグ

Visual Studio .NET 2003 で上記プロジェクトをデバッグするときは、以下の手順で行う。

  • [デバッグ] → [プロセス] を開いて、選択可能なプロセスの中に「aspnet_wp.exe」を見つける。これがない場合は、IIS で ASP.NET が動作していないと思われる。
  • [アタッチ] を選択して、「Common Language Runtime」にチェックをつける。これで OK とすると、デバッグが開始される(ブレークも有効)。

これで、通常のアプリケーションと同様にデバッグできるようになる。

参考サイト

以上はあくまでヤクザなやり方なので、一般的なデバッグ方法は下記を参照のこと。


プログラム・開発系メモ


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-05-15 (土) 12:07:54 (5287d)