特集:アプリ配布のオンデマンド、ClickOnceで変わるVS 2005dev .NET(4/6 ページ)

» 2004年09月08日 20時00分 公開
[大澤文孝,ITmedia]

デバッグにはVirtual Web Developer Web Serverを使う

 VS2005では、デバッグ時に比較的重量級のIISを使わず、同梱の「Visual Web Developer Web Server」と呼ぶ簡易Webサーバソフトを利用するようになった。つまり、開発者のPCにIISをインストールしなくても、比較的軽量なサーバソフトを検証環境として利用可能になった。Visual Web Developer Web Serverは、Visual Studio 2005でWebアプリケーションを実行すると自動的に起動し、動作時にはタスクトレイにアイコンが現れる。

実行時にソースビルドする

 VS2005の内部で大きく変わったもののひとつは、ソースのビルド方法だ。ASP.NET 1.xでは、開発時にビルドし、ビルド後のアセンブリがbinフォルダに格納された。実行時には、binフォルダ内のアセンブリが使われるため、ソースファイルは必要なかった。

 しかしASP.NET 2.0では、実行時に、画面17のように、.aspxファイルとソースファイル(.vbや.cs)がまとめてひとつのクラスとしてビルドされる。つまり、ASP.NET 2.0では、実行時にもソースファイルが必要となるのだ。ASP.NET 2.0では、開発中にbinフォルダは使われない。

画面17■ASP.NET 2.0における実行時のビルド

 ASP.NET 2.0では、ちょっとした修正であればVS2005が不要であり、メモ帳などのテキストエディタでソースファイルを書き換えるだけでも反映される。無停止前提で運用中の変更も可能という便利な面もある。しかし、ソースを秘匿することができず、開発したアプリケーションを納品するといった際には適さないだろう。

 そこでASP.NET 2.0では、実環境に移す時には、「プレコンパイル」という作業を行う。このプレコンパイルを行うためには、VS2005の「Webサイト」メニューから「Webサイトの公開」を選択する。すると、画面18のようにビルド後のアセンブリがbinフォルダに格納されるのだ。

画面18■プレコンパイル

 実環境で動作させる場合には、プレコンパイル後のファイルを実環境にコピーすればよい。なお、プレコンパイル後を実環境にコピーする場合には、仮想フォルダ名(URLのパス名)は、開発時に設定したものと合致させなければならない。

特殊な役割を担うディレクトリ(フォルダ)

 ASP.NET 2.0では、次に挙げる幾つかの特殊な役割を担うフォルダ(ディレクトリ)を扱う。

  • Dataディレクトリ

 データベースなどのデータを保存するために利用されるディレクトリだ。後述するASP.NET 2.0における管理ツールでユーザー管理などを行った場合には、このディレクトリ下に存在するAccessのmdb形式ファイルに情報保存する。


ユーザー管理情報は、Accessのmdb形式ファイルではなく、SQL Serverに保存することもできる。
  • Codeディレクトリ

 Webフォーム全体から共有されて利用するクラスソースなどを保存するディレクトリ。ASP.NET 2.0では、このディレクトリに保存したクラスだけが実行時ビルド対象となる。また、Codeディレクトリは、リソースファイル(*.resx)を保存する場所としても使われる。

  • Themesディレクトリ

 ASP.NET 2.0で追加された「テーマ」と呼ばれる、HTML要素でスタイルシート使用の画像などを切り替える機能を使う際、設定ファイルを保存する場所として利用する。

 上記の中でも特に開発者が注意しなければならないのは、Codeディレクトリだ。ASP.NET 2.0では、Codeディレクトリに保存したソースファイルは、必要に応じ、実行時に自動ビルドされる。しかし、ほかのフォルダに保存したソースファイルはビルドされないのだ。そのため、開発者は、クラスを構成するソースファイルを、必ず、Codeディレクトリ下に保存しなければならない。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ