<< [ASP.NET]VS2008のJavaScript開発 | main | Visual Studio 2008 SP1 新機能① >>

2008/08/01 (金)

[ASP.NET].NET 1.x アプリを .NET 2.x アプリとして生き返らせる

Visual Studio .NET(.NET Framework 1.x)ではWebプロジェクトは『Webアプリケーション』プロジェクトというのがありましたが
Visual Studio 2005(.NET Framework 2.0) 当初では『Webサイト』プロジェクトという形になりました。
しかしこの変更により、.NET Framework 1.x アプリを .NET Framework 2.x アプリに移行することは容易ではなくなりました。

この『Webサイト』プロジェクトは旧来の『Webアプリケーション』プロジェクト構造と大きく変わって、プロジェクトファイルが存在せず
ディレクトリ内のすべてのファイルによりプロジェクト構成されます。
またクラスファイルはApp_Codeフォルダに配置しなければならなかったり、ユーザコントロールが使えないなど問題があり
.NET Framework 1.x アプリケーションを.NET Framework 2.x アプリケーションへマイグレーションするには多大な工数が必要とされていました。

これらの問題解消のため Microsoft社は Visual Studio 2005 SP1 で 旧来と同じWebアプリケーションプロジェクトが利用できるように機能追加されています。
(当然、Visual Studio 2008でも標準機能として組み込まれています。)

webapp.PNG

最新のサーバーOSではサポートされなくなりつつある環境のため、移行時に .NET Framework 1.xアプリケーションを .NET Framework 2.xアプリケーションへマイグレーションする選択肢ができたとも言えます。
WebサイトでもWebアプリケーションでも.NET Framework 2.x の機能は通常通り使用できます。(一部使い方に違いはあるかもしれませんが)

  Webサイト Webアプリケーション
サポートツール VS.NET
Visual Web Developer
VS.NET 2005 SP1 以降
機能 実行時にコードファイルとaspxをビルド コードファイルをあらかじめビルドして、binフォルダにDLLを配置する
クラスファイルはApp_Codeフォルダに配置 任意の場所にクラスファイルを配置
アプリケーションフォルダ配下すべてがプロジェクト対象 任意のフォルダ・ファイルをプロジェクトに含めるかどうかを指定可能
(プロジェクトファイルを複数利用して構成を変えることが可能)
エディットコンティニューが有効で、デバッグしながらソースコードの編集が可能 複数のWebプロジェクトを使用して構築可能
(変更されたプロジェクトアセンブリのみの入替が可能)
  プロジェクトごとに出力アセンブリ属性を制御可能
開発サーバー IISとASP.NET開発サーバー

Webアプリの配置においても、旧来のバージョンではソースコードを含まない実行環境の構築にスクリプトで不要ファイルを削除する…などの機能を自作していたが
Web Deployment機能により、Webアプリケーションプロジェクトでもコードファイルを含まない実行環境のみのフォルダを作成できる。