* [ASP.NET] Web アプリケーションのデバッグ [#q73268aa]
 Web アプリケーションを構築するとき、通常は「ASP.NET Web アプリケーション」を選択する。
 その場合、プロジェクトを開く度に Web サーバへアクセスするので、
 その分のオーバーヘッドがある為に遅いし、Web ディレクトリのアクセス権の設定などがやや面倒。
 
 そこで、次のように単純アプリとしてデバッグするようにすると、開発者のストレスが減る。
 
 ** Web アプリを 単純アプリ にしてしまう [#l1320cb3]
 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 アプリケーションを 単純アプリケーションとして構築できるようになる。
 
 ** デバッグ [#tfc99672]
 Visual Studio .NET 2003 で上記プロジェクトをデバッグするときは、以下の手順で行う。
 
 - [デバッグ] → [プロセス] を開いて、選択可能なプロセスの中に「aspnet_wp.exe」を見つける。これがない場合は、IIS で ASP.NET が動作していないと思われる。
 
 - [アタッチ] を選択して、「Common Language Runtime」にチェックをつける。これで OK とすると、デバッグが開始される(ブレークも有効)。これで、通常のアプリケーションと同様にデバッグできるようになる。
 - [アタッチ] を選択して、「Common Language Runtime」にチェックをつける。これで OK とすると、デバッグが開始される(ブレークも有効)。
 
 これで、通常のアプリケーションと同様にデバッグできるようになる。
 
 ** 参考サイト [#z4d52ef4]
 以上はあくまで''ヤクザなやり方''なので、一般的なデバッグ方法は下記を参照のこと。
 
 - [[ASP.NET のトラブルシューティングとデバッグ:http://msdn2.microsoft.com/ja-JP/library/ms178643.aspx]]
 -- [[ASP.NET Web アプリケーションのデバッグ:http://msdn2.microsoft.com/ja-jp/library/w2faa92k.aspx]]
 - [[Visual Studio .NET で ASP.NET アプリケーションをデバッグするときの一般的なエラー:http://support.microsoft.com/default.aspx?scid=kb;ja;306172]]
 - [[ASP.NET Web アプリケーションをデバッグできない:http://support.microsoft.com/default.aspx?scid=kb;ja;318465]]
 
 -----
 [[プログラム・開発系メモ]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS