VS2005でVS2003形式のWebアプリケーションプロジェクトを作成する(前半)

Visual Studio 2005(以下VS2005と表記)では、Webアプリケーションのプロジェクトシステムが大きく変更されました。Visual Studio .NET 2003(以下VS2003と表記)のようにプロジェクトのマニフェストファイルにすべてのファイル一覧を保存することをやめ、フォルダの中身がそのままプロジェクトの中身となるようになりました。また、Webプロジェクト全体で1つのアセンブリを生成するのをやめ、ページ毎に細かくアセンブリを分けて生成するようになりました。
なぜこのようにする必要があったのかは、下記のhttp://www.exconn.net/Blogs/team01/の記事を読むとよく分かるかと思いますので、ご参照ください。

http://www.exconn.net/Blogs/team01/archive/2005/08/26/2684.aspx
http://www.exconn.net/Blogs/team01/archive/2005/09/05/2875.aspx

これらの多くの変更の1つに、Webプロジェクトではビルドアクションがなくなったというのがあります。これにより、ビルドアクションからファイルを埋め込まれたリソースとすることができなくなりました。
アセンブリリソースファイルを使う方法以外に、リソースを埋め込むことができなくなってしまったのです。
何が言いたいのかといいますと、これによりActiveReportsは仕様の変更を余儀なくされてしまいました。

ActiveReportsのレポートは、XML形式で書かれたレポートのレイアウトファイル(.rpxファイル)とコードファイル(.vb or .cs)ファイルの2つから成り立っています。レイアウトファイルをリソースとして埋め込み、それを下記のようにコードファイルのコンストラクタの中で読み込むことで、レポートのインスタンスを作成しています。

Me.LoadLayout(Me.GetType, "ActiveReport1.rpx")

VS2005ではこれができなくなってしまったため、次のようにコードファイル内に直接XMLコードがかかれるように変更されました。

Me.XmlLayout = "<?xml version=""1.0"" encoding=""UTF-8""?><ActiveReportsLayout Version=""3"" PrintWidth" & _
         "=""8640"" DocumentName=""ActiveReports Document"" ScriptLang=""C#""><StyleSheet><Style" & _
…以下省略

しかし、この方法の場合、コードファイルを表示させるタイミングでしかレイアウト情報を反映させることができないという問題があります。ですので、VS2005でActiveReportsを使用する場合には、レポートをクラスライブラリで作成することを推奨されています。具体的な方法などは、ActiveReportsの製品ヘルプの下記のトピックに記載されていますので、こちらをご参照ください。

[ActiveReports for .NETユーザーガイド]
  + [ActiveReports for .NETの概要]
    + [Visual Studio 2005で使用する際の注意]
      + [Visual Studio 2005Webアプリケーションの作成方法]

さて、前置きが非常に長くなってしまったのですが、ようやくタイトルの件です。ActiveReportsのためを思ってか(そんなわけないか)、VS2005でVS2003形式のWebアプリケーションプロジェクトが作成できるようになるアドイン(アップデートされたバージョン1.0)がリリースされました。

こちらのScottGuさんのblogに詳しい内容が載っていますので、興味のある方はご覧ください。

ScottGu's Blog - VS 2005 Web Application Project V1.0 Released

さっそく、このアドインをインストールして試してみようかと思ったのですが、どうやらこのアドインは英語版のVS2005にしかインストールできないようです。
もし英語版でインストールすることが出来たならば、後半へ続く。