しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

Visual Studio 2013 Update 3 を使ってソリューションの互換性を調べてみた

先日、ウェブマトリクスマンに寿司を奢ってもらった時に the Spoke という半端なく懐かしいキーワードが出てきたのと、ちょっと前に黒歴史がたくさん詰まった HDD の中身を調べて遊んでいた時に古い Visual Studio のプロジェクトを大量に発掘したので、今回は最新の Visual Studio 2013 Update 3 でちゃんと開けるのか確認してみました。

既に忘れてしまった人や、そもそも全く知らないという人もいると思うので、the Spoke に関しては以下の記事を参考にしてください。とても懐かしいです。

窓の杜 - 【NEWS】統合開発環境「Visual Studio .NET」が学生向けに破格の4,830円で発売
Visual Studioが4,830円で - マイクロソフト、学生向け新プログラム | マイナビニュース

ちなみに当時は高校生だったのでお金もなく、速攻で飛びついたのを覚えています。そして the Spoke がきっかけで Microsoft のテクノロジーに触れ、そして今は Microsoft MVP として活動しているというのは、Microsoft 的には成功したと言っていいでしょう(とても偉そう

もうちょっと昔話をしておくと、the Spoke が終わる前に Visual Studio 2005 Professional を無料で配布するという最高に太っ腹なキャンペーンもあり、それにも速攻で飛びついたのを覚えています。

「Get!Visual Studio 2005」キャンペーン

◆概要:「Visual Studio .NET the Spoke Premium 2003」を購入し、登録した学生はキャンペーン期間中、「Visual Studio 2005 Professional Edition」を追加費用なしでダウンロードすることができます。なお、すでに購入している既存のユーザーも対象となります。Visual Studio 2005日本語版パッケージ発売時には、the Spoke Premiumパッケージの提供は行いません。

ソフトウェアを通して学生の可能性を拡大することを目指し、様々な施策を展開 - News Center

プレスリリースが残っているのも驚きです。当時は本当にお世話になりました。

それでは本題に入っていくことにします。

はじめに

基本的に Visual Studio のソリューションファイルは、バージョンごとに微妙にフォーマットが異なってます。なので変換が必要になるケースが大半になります。

しかし、変換前のソリューション一式は自動的にバックアップされるので、古いソリューションの場合にはまず変換してみるのが良いかと思います。

f:id:shiba-yan:20141005230112p:plain

Visual Studio 2013 用に変換されてますが、Backup フォルダには古いアイコンが見えますね。安心出来たところで、それでは古い順に見ていくことにします。

Visual Studio 6.0

f:id:shiba-yan:20141006000616p:plain

流石に Visual Studio 6.0 は触ったことすら余りないので、古い libpng のソースコードからソリューションを拾ってきて試してみました。

アイコンをクリックして開くと、ソリューション変換の確認ダイアログが表示されるので、ここで変換を実行すると Visual Studio 2013 のソリューションへ変換されてから開くことが出来るようになります。

f:id:shiba-yan:20141006000648p:plain

実際に開いた様子です。問題なくソリューションが変換されていることがわかります。

f:id:shiba-yan:20141006000829p:plain

Visual Studio .NET (2002)

f:id:shiba-yan:20141005233106p:plain

手元で Visual Studio .NET のソリューションが見つからなかったので、今回は zlib と同時に配布されているソリューションを使って試してみました。

Visual Studio 6.0 の同じダイアログが表示されました。昔はこんなデザインではなかったと思うんですが、とりあえず変換を実行します。

f:id:shiba-yan:20141005233150p:plain

ソリューションが変換されて開くことが出来るようになりました。特に問題もなさそうです。

f:id:shiba-yan:20141005233254p:plain

Visual Studio .NET 2003

f:id:shiba-yan:20141006000523p:plain

幸運なことに libpng にレアキャラと言える Visual Studio .NET 2003 用のソリューションが入っていたので、実際に開けるか試してみました。

変換ダイアログが表示されるので、とりあえず変換します。

f:id:shiba-yan:20141006000912p:plain

問題なくソリューションを開くことが出来ました。

f:id:shiba-yan:20141006001143p:plain

Visual Studio 2005

f:id:shiba-yan:20141005232158p:plain

大昔に書いた Hatena 認証 API を使うためのライブラリは Visual Studio 2005 のソリューションで作っていたみたいなので試してみます。

Visual Studio .NET の時と同じダイアログが表示されるので、ここでも変換を実行します。

f:id:shiba-yan:20141005230357p:plain

変換後は問題なくソリューションを開くことが出来ました。.NET Framework のバージョンは 2.0 になっているので正しそうです。

f:id:shiba-yan:20141005230305p:plain

Visual Studio 2008

f:id:shiba-yan:20141005232053p:plain

良く分からない Windows フォームアプリケーションが Visual Studio 2008 で作っていたみたいなので試しました。余談ですが、個人的には起動が一番早かった Visual Studio だった気がします。

これも同じように変換ダイアログが表示されるので変換を実行します。

f:id:shiba-yan:20141005225737p:plain

変換後には正常に開けるようになりました。.NET Framework のバージョンは 3.0 となり、少しずつ新しくなってきていることがわかります。

f:id:shiba-yan:20141005225902p:plain

Visual Studio 2010

f:id:shiba-yan:20141005232248p:plain

WPF で作りなおされてから、最初のバージョンとなった Visual Studio 2010 です。とても起動が遅くなったことだけ覚えています。

これまでの感じから、クリックで開いて変換すれば問題ないだろうと思っていたら、何故か Visual Studio 2010 Shell のエラーダイアログが表示されてしまい開けません。

f:id:shiba-yan:20141005230520p:plain

SSMS とかで 2010 Shell がインストールされているのが問題のようですが、起動した Visual Studio 2013 にドロップすると自動的に変換されて開くことが出来ました。

f:id:shiba-yan:20141005230810p:plain

Visual Studio 2012

f:id:shiba-yan:20141005231958p:plain

Visual Studio 2012 と Visual Studio 2013 はソリューションに互換性があるので、変換することなくそのまま開くことが出来ます。

f:id:shiba-yan:20141005231857p:plain

感想

Visual Studio 2013 の互換性凄い。というか、もはや怨念的な何かを感じました。