特集:Visual Studio 2010(ベータ2)で効率的な開発を!

現場開発者から見たVisual Studio 2010

WINGSプロジェクト りばてぃ(著) 山田 祥寛(監修)
2010/01/19
Page1 Page2 Page3

 2010年を迎え、次期Visual Studio 2010(以下、VS 2010)のリリースも目前まで迫ってきた。@ITをはじめ、各メディアでは特集が組まれているので、それらの内容からすでにVS 2010の新機能に関する情報を得ている諸氏も多いだろう。本稿では少し基本に立ち返って、従来からある機能などにもフォーカスしながら、開発者にとって便利なVS 2010という視点で解説する。

VS 2010の概要

 VS 2010は2010年前半のリリース(米国でのローンチは2010年4月12日)を目標に開発が進められている.NET Frameworkのための新しい統合開発環境(IDE)である。

 開発環境そのものの機能強化や、同時にリリースされる予定の.NET Framework 4(以下、.NET 4)と併せて、ASP.NET MVCやSilverlight、Windows Azureといった次世代テクノロジの開発サポートなど、さまざまな新機能の提供も予定されている。これらの新機能については「次期Visual Studio 2010と.NET Framework 4.0の新機能」や「ScottGu氏のブログより」をご覧いただきたい。

 なお、2010年1月19日現在、VS 2010は開発中のベータ2バージョンが、マイクロソフトのサイト「Microsoft Visual Studio 2010 First Look」からダウンロード可能となっている。

VS 2010は.NET 4専用か

 さて、VS 2010と.NET 4が同時にリリースされる予定となっていると説明したが、VS 2010は.NET 4の開発にしか利用できないのではないかと思っている諸氏もいるのではないだろうか。

 事実、VS 2005まではVS.NET 2003は.NET 1.1用、VS 2005は.NET 2.0用と開発環境はある特定のターゲット用に存在していた(さらにさかのぼれば、開発環境は特定言語用に用意されていた)。

 このときの印象が強いとVS 2010は.NET 4用と思ってしまうが、実はそんなことはない。それがマルチターゲットと呼ばれる機能だ。

マルチターゲット

 マルチターゲット機能はVS 2008からすでに用意されており、複数バージョンの.NET Frameworkを1つの開発環境で扱えるようになっている。

 VSのどのバージョンで.NETのどのバージョンの開発が可能か、その対応関係については表1をご覧いただきたい。

VSのバージョン .NET 2.0 .NET 3.0 .NET 3.5 .NET 4
VS 2005 × × ×
VS 2008 ×
VS 2010
表1 VSと.NETのバージョン対応関係
ちなみに、,NET 4からは「4.0」のように「.0」を付けずに表記する。

 この表を見れば一目瞭然(りょうぜん)だが、VS 2010は.NET 2.0〜4までを対象とした開発を行える。つまり、現在VS 2005やVS 2008を使って開発を行っている場合には、VS 2010のリリースと同時に利用し始めたとしても問題ないということだ。

 このマルチターゲット機能を実際に利用する場合には、VS 2010でプロジェクトを新規作成する際、図1に示すようにテンプレート一覧の上部にあるドロップダウンリストから、開発対象となる.NET Frameworkのバージョンを選択するだけでよい。

図1 ターゲット・バージョンの選択

 VSは選択されたバージョンに応じて利用可能なプロジェクト・テンプレートを自動的にフィルタリングして表示してくれるので、.NET Frameworkのバージョンを選択してからプロジェクト・テンプレートを選択するという流れで作業を行うとよいだろう。

 次に、ここで選択した情報がどこに保存されているかだが、プロジェクト作成後にプロジェクトのプロパティを開き、[アプリケーション]タブを開くと[Target framework:]という項目が見つかる。このドロップダウンの内容が選択した.NET Frameworkバージョンになっているはずだ。

 ここで選択内容を別のバージョンに変更すると(図2)、プロジェクトの参照設定が変更され、バージョンを切り替えることができるが、すぐにコンパイル・エラーを引き起こすことになるため、開発初期の段階でもない限り、むやみやたらと開発途中で変更することはお奨めできない。

図2 ターゲット・バージョンの変更

プロジェクトの移行

 マルチターゲット機能があるから.NET 2.0でも3.5でもVS 2010で開発できる。このことはお分かりいただけたことと思う。では実際のところ、VS 2005/2008で開発していたソリューションやプロジェクトをVS 2010で利用しようと思ったとき、いったいどうなるのだろうか。

 VS 2005のころに提供されていたPet Shop 4をサンプル・アプリケーションとして、実験してみたい。なお、Pet Shop 4は「Microsoft .NET Pet Shop 4: ASP.NET 1.1 アプリケーションを 2.0 に移行する」のページからダウンロードできる。

 ファイルは.msi形式でインストールはウィザードに従うだけなので、さほど問題はないだろう。インストールが終了したら「C:\Program Files\Microsoft\.NET Pet Shop 4.0」フォルダにあるファイル一式をデスクトップなどにコピーし、PetShop.slnファイルをVS 2010で開いてみよう。図3に示す変換ウィザードが立ち上がるはずだ。

図3 [Visual Studio 変換ウィザード]ダイアログ

 VS 2010ベータ2の画面であるため、英語表記になってしまい分かりにくいが、ウィザードはそのまま進めて変換を開始すればよい。ただし途中、図4に示すダイアログが表示されたときには気を付けよう。

図4 Webサイトの変換確認ダイアログ

 図4のダイアログは、ソリューション内に.NET 4よりも古いバージョンを利用したWebサイトが含まれていることを示すものである。Webサイトを.NET 4に変換しない場合には[いいえ]を選択する必要がある。今回はターゲット.NET Frameworkバージョンはそのままにしておきたいので、[いいえ]を選択して変換した。

 変換が完了したら最後に表示されるウィンドウで[ウィザードが閉じたときに変換ログを表示する]にチェックを付けて[閉じる]ボタンを押すと、図5のような変換レポートを確認することができる。

図5 プロジェクト変換結果レポート

 今回は.NET Frameworkバージョンを変更せずにソリューションとプロジェクトだけVS 2010用に変換しているため、特にエラー内容は報告されていない(もちろんこのままビルドも完了させることができる)。もし、.NET 4に変換する場合には、いくつかエラーや推奨されない機能などが報告されることがあるが、レポートを確認して修正していけばよいだろう。

 ここまでの手順で、VS 2005やVS 2008で開発していたものも比較的簡単にVS 2010を利用した開発に移行できることが確認できた。VS 2010は、VS 2005/2008から割と簡単に乗り換えられるということはご理解いただけただろうか。

 そして、せっかく乗り換えたのであれば、VS 2010に用意されている便利な機能を使わなければもったいない。次のページからは、それらの機能について紹介していく。


 INDEX
  特集:Visual Studio 2010(ベータ2)で効率的な開発を! 
  現場開発者から見たVisual Studio 2010
  1..NET 2.0/3.0./3.5/4とVisual Studio 2010の関係
    2.開発者へお勧めのVisual Studio 2010の機能
    3.なければ作ろう、Visual Studio 2010の拡張機能


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メールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH