特集:Visual Studio 2008 SP1概説

新機能がてんこ盛りの「Visual Studio 2008 SP1」レビュー

デジタルアドバンテージ 一色 政彦
2008/08/20
Page1 Page2 Page3 Page4

クライアント関連の新機能と機能強化ポイント

極小.NETエンジン「.NET Framework 3.5 Client Profile」

 今回のVS 2008 SP1&.NET Framework 3.5 SP1で最も注目、そして期待されている新機能の1つが、「.NET Framework 3.5 Client Profile」(以降、.NET Framework CP)である。

 .NET Framework CPは、クライアント・コンピュータ向け(Windows XP SP2以降)に特化して機能を限定した.NET Frameworkのサブセット(=縮小版の.NETアプリ実行環境)で、たった26.5Mbytes(マイクロソフトが発表した数値。.NET Framework 3.5通常版は197Mbytesなので86.5%の縮小)と極小のサイズに仕上がっている。これにより、スタンドアロンのWindowsアプリやコンソール・アプリがより手軽に配布できるようになるので、.NET Frameworkのサイズが巨大なため.NETアプリの導入をためらっていたエンド・ユーザー層に対しては有用なのではないだろうか。

 .NET Framework CPに搭載される主なテクノロジは以下のようになっている。クライアント・コンピュータに不要なASP.NET関連の機能などは完全に排除されているのが分かる。この詳細については後日別記事で紹介したいと考えている。

  • 基本クラス・ライブラリ
  • Windowsフォーム
  • WPF(Windows Presentation Foundation)
  • WCF(Windows Communication Foundation)
  • ClickOnce

 開発中のアプリが.NET Framework CPで動作するように保証するための設定も簡単で、次の画面のように、プロジェクトのプロパティ画面で[クライアント専用 Framework サブセット]をチェックするだけだ。

.NET Framework CPを利用するためのオプション設定(上:C#、下:VB)
C#ならプロジェクト・プロパティの[アプリケーション]タブで[クライアント専用 Framework サブセット]にチェックを入れ、Visual Basicならプロジェクト・プロパティの[コンパイル]タブで[詳細コンパイル オプション]ボタンをクリックし、表示される[コンパイラの詳細設定]ダイアログの[クライアント専用 Framework サブセット]にチェックを入れる。

 再配布可能な.NET Framework CPは次のサイトからダウンロードできる(ただし8月20日現在、執筆時にはあった下記のリンク先がなくなっている)。Windowsインストーラの必須コンポーネントにも対応しているので、ClickOnceで.NET Framework CPを使うことも可能だ。

配布技術「ClickOnce」機能の強化

 ClickOnceでは細かな機能強化がいくつか行われているが、筆者が「これは!」と思ったのは、「拡張子の関連付け」や「デスクトップ・ショートカットの作成」に対応したことだ。これにより、通常のスタンドアロン系のWindowsアプリケーションでも、よりClickOnceが利用しやすくなった。

「拡張子の関連付け」および「デスクトップ・ショートカットの作成」の設定
プロジェクト・プロパティの[発行]タブで[オプション]ボタンをクリックすると、この[発行オプション]ダイアログが表示される。

 また.NET Framework 3.5 SP1から、最近人気上昇中のWebブラウザ「Firefox」にも対応したので、より多くの人に向けてClickOnceでアプリを配布できるようになった。

VB6開発者向けの機能強化「Visual Basic PowerPacks」

 VS 2008のWindowsフォームでは、Visual Basic PowerPacks(以降、VB PP)の一部(具体的には「Printer Compatibility Library 1.0」のPrintFormコンポーネント)が[ツールボックス]の[Visual Basic PowerPacks]タブから利用できるようになっていた。

 VS 2008 SP1ではこれがさらに強化され、さまざまな機能(LineShapeコントロール、OvalShapeコントロール、RectangleShapeコントロール、DataRepeaterコントロール)が追加されている。具体的には次の画面を参考にしてほしい。

追加されたVisual Basic PowerPacksのコントロール群

 ここでのポイントはVBだけでなく、C#のWindowsフォームでもデフォルトでこれらのコントロール群が[ツールボックス]から利用できることだ。

 例えば、これまでWindowsフォーム上に直線を引くには、なぜか.NET Frameworkの基本ライブラリに存在しないため、Labelコントロールで無理やり代用する手段などが一般的だったが、VS 2008 SP1以降ではLineShapeコントロールを使えばよくなったので、素直に直線が引けるようになる。

MFCの驚くべき拡張「Office 2007/Visual Studioライクな外観」

 Visual C++のMFC(Microsoft Foundation Class Library)は、マイクロソフト・テクノロジの主流が.NETへ移行したことによって役目を終え、今後の更新はないだろうと予測されていた。しかし今回のVS 2008 SP1ではこれが覆され、魅力的な機能が追加されている。MFC Windowsアプリの外観を「Office 2007」や「Visual Studio」のようにする機能である。

 この機能は、プロジェクトの新規作成で「MFC アプリケーション」テンプレートを利用したときの[MFC アプリケーション ウィザード]で選択できる。Officeライクにしたい場合には、次の画面のように、[アプリケーションの種類]ページで[プロジェクト形式]のラジオボタンで「Office」を選び、[視覚スタイルと色]コンボボックスで、以下の中から好きなものを選択できる。

  • Office 2007 (青のテーマ)
  • Office 2007 (黒のテーマ)
  • Office 2007 (銀色のテーマ)
  • Office 2007 (水色のテーマ)
  • Office 2003*1

 また、Visual Studioライクにした場合は、[プロジェクト形式]で「Visual Studio」を、[視覚スタイルと色]で「Visual Studio 2005」を選べばよい。

*1 「2003」となっているが、試しに作ってみたところ、「Office 2007 (水色のテーマ)」と同じ見た目のものが出来上がった。

Office 2007/Visual Studioライクな外観の選択

 以上の設定を行ったうえでウィザードを完了させて、そのままビルドして起動してみたものが次の画面だ。

Office 2007(上)/Visual Studio(下)ライクな外観を持つMFCアプリ

 上のOffice 2007ライクな外観の方の画面では、右上の方に「スタイル」メニューがあり、ここから動的に外観を変更することもできる。次の画面は実際にそれを変えようとしているところだ。

Office 2007ライクな外観の動的な変更
「ブルー スタイル」は前述の「青のテーマ」、「ブラック」は「黒」、「シルバー」は「銀色」、「アクア」は「水色」と同じ意味。

 以上の機能はC#やVBでも利用したいので、ぜひとも.NET Frameworkでも実現してほしいものだ。MFCについては、やはり役割を終えたという見方が一般的なので、「これが最後の大サービスということなのかな」という気が筆者はしている。

待ち望まれていた「WPFデザイナの強化」

 VS 2008では、ようやくWPF(Windows Presentation Foundation)のデザイン機能が搭載され、WPFアプリの開発が可能になった。

 しかし実際に開発を始めようとすると、歴史があり、多機能なWindowsフォームのデザイナに比べてどうしても機能が少なく、開発生産性という点を考えるとWPFアプリの開発は見送りになってしまうケースがこれまでは多かったのではないだろうか。今回のVS 2008 SP1ではこの面に関していくつかの改善が見られる。

 まず、[プロパティ]ウィンドウの機能が強化され、次の画面のように、A-Z順でソートする[アルファベット順]ボタンや、各コントロールのイベント・ハンドラを挿入するための[イベント]ボタンが追加された。

WPFデザイナの[プロパティ]ウィンドウの機能強化

 また、[ツールボックス]からコントロールを直接、XAMLコードへドラッグ&ドロップできるようになった。XAMLコード手書き派の開発者にとっては役立つ機能だろう。

[ツールボックス]からXAMLコードへのドラッグ&ドロップ

 さらには、上下左右の端から一定の間隔を置いてコントロールを配置できるようにするスナップライン機能が追加されている。次の画面は左端から一定の間隔を置いてコントロールを配置しようしているところだ。

上下左右の端から一定の間隔を置いて表示されるスナップライン

 以上のほかにも、TabControlコントロールやExpanderコントロールに機能が若干追加されている。また、WPFアプリ自体を最初に起動するとき(=コールド・スタートアップ時)の速度が速くなっている(マイクロソフトのドキュメントによると、20〜45%のパフォーマンスの向上)ほか、さまざまなパフォーマンス向上や安定性向上があるようだ(ただし、筆者が細かくデータを取って検証したわけではない)。

 以上、ここまでクライアント関連の新機能を見てきたが、SP1ではデータベース関連やASP.NETの拡張も面白い。次にこれらについて見ていこう。なお、これらについては、後日より詳細なレポートを提供できる見込みであるのでご期待いただきたい。


 INDEX
  [特集]Visual Studio 2008 SP1概説
    1.Visual Studio IDEと共通言語ランタイム(CLR)の新機能と機能強化ポイント
  2.クライアント関連の新機能と機能強化ポイント
    3.データベースとASP.NETの新機能と機能強化ポイント
    4.言語個別の新機能と機能強化ポイント


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間