━目次━






ここ数ヶ月、C#.NETを扱う機会があったのですが、その際にある要望がきて、

VisualStudioを2005からバージョンアップして2017にしたい!

とな。


こりゃまた思い切ったなーと(笑)

というか逆にこれまで何故放置していたのか。。。

考える人考える人

12年あればIT業界なんて別世界でっせ旦那

まぁ前置きはこれくらいにして、実際にアップグレード作業をしてみると予想通り問題が検出されたので備忘録として残します。

2010から2017に更新する際の参考にもなると思います。

条件

前提条件

・VisualStudio2005で作成したソリューションをVisualStudio2017で扱えるようにしたい
・メインはC#のプロジェクトだが、他にC++やインストール用のプロジェクトが存在
・(移行元)Visual Studio 2005 Professional Edition Version 8.0
・(移行先)Visual Studio Enterprise 2017 Version 15.5.2
・Windows 7 Professional



VisualStudio2017のインストールは完了していて、2005で作成したプロジェクトを開くところからの説明とします。

vdproj(セットアッププロジェクト)がサポート外と言われる

まずソリューションを開くと、以下のような画面がでます。

「サポート外」となっているプロジェクトを見ると、全て拡張子が「.vdproj」のセットアッププロジェクトだと分かります。
(インストーラーを作成するためのプロジェクトですね)

ここでググってみると、
「Visual Studio 2012からはセットアッププロジェクトが使えなくなった」
との情報が、、


結論から言うとこの情報に騙されました

セットアッププロジェクトをVisual Studio 2012に引き継ぐ
こちらのサイトにあるように、代わりとなる「InstallShield Limited Edition for Visual Studio」をインストールしようとすると、、、



ないじゃん!

「その他のプロジェクトの種類」配下に「セットアップと配置」なるものがあるようなのですが、ありません。

現時点のVisualStudio2017では存在しないようです。


そして調べた結果、


セットアッププロジェクトはそのまま使える!


ただし追加で「Microsoft Visual Studio 2017 Installer Projects」をインストールする必要があります。

Microsoft Visual Studio 2017 Installer Projectsのインストール方法

1.「ツール」→「拡張機能と更新プログラム」



2.「オンライン」を選択し、右上の検索ボックスに「install」と入力。【Microsoft Visual Studio 2017 Installer Projects】があるので、ダウンロード



3.インスールが完了すると、「全てのVisual Studioウィンドウを閉じると変更を開始します」のようなメッセージが出るので、VSを閉じる


4.画面を閉じると以下のような画面がでるので「変更」を押下



5.再度ソリューションを開くと、セットアッププロジェクトがまだ、(非互換)となっているが、プロジェクト上で右クリック→「プロジェクトの再読み込み」をすることで解消される

(移行が必要)となっているプロジェクトの対処方法

プロジェクト名の後ろに「(移行が必要)」と出ているプロジェクトがある場合は対処しなければなりません。


1.プロジェクト上で右クリック→「プロジェクトの再読み込み」を押下することで下記画面がでるので、「OK」を押下
VisualStudio更新5


2.「OK」押下後、下記のような警告がでるが、特に問題ないと思うので無視


ソースを開く前にはリビルドが必要

ここまでの時点でソースを開こうとすると、下記のようなエラー画面が出ます。



2005のときの情報が残っているので、各プロジェクトのリビルドを行います。

リビルド中にターゲットのエラー(MSB8036)がでた場合

私はリビルド中に下記のようなエラーが出ました。


—— すべてのリビルド開始: プロジェクト:○○, 構成: Debug Win32 ——
4>C:\Program Files\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.Cpp.Common.props(144,5): warning MSB4211: プロパティ “WindowsTargetPlatformVersion” は初めて値に設定されますが、これは “C:\Program Files\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Microsoft.Cpp.WindowsSDK.props (29,5)” で既に使用されています。
4>C:\Program Files\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\VC\VCTargets\Platforms\Win32\PlatformToolsets\v141\Toolset.targets(34,5): error MSB8036: Windows SDK バージョン 8.1 が見つかりませんでした。必要なバージョンの Windows SDK をインストールするか、プロジェクト プロパティ ページで SDK バージョンを変更するか、ソリューションを右クリックして [ソリューションの再ターゲット] を選択してください。
4>プロジェクト “○○.vcxproj” のビルドが終了しました — 失敗。


メッセージに書いてあるように対処します。

1.ソリューション上で右クリック→「ソリューションの再ターゲット」を押下する



2.下記の画面が出るので、そのままOKを押下



3.下記のような警告メッセージがでるが、特に影響はないので気にしない


おわりに

私は上記の作業で、ソースの閲覧、全プロジェクトのリビルドに成功しました。

環境によってそれぞれだと思うので、一概には言えませんが。

じゃけぇじゃけぇ

こっから更に.NETのバージョンを2から4.6.1まで上げないといけないのですが、それはまたの話で、、、(笑)


エンジニアの方!

エンジニアの市場価値は思っているより高いです。私も業界3年未満というキャリアでフリーランスに転職しましたが、初年から月の収入が30万近く上がりました。(東京なら+5~10万です)
今は更に上がり会社員の頃の2倍以上稼いでいます。
フリーランスに興味のある人はこちらの記事を読んでみてください(^^)
PE-BANKと契約して26歳で年収800万円になった大阪のフリーランスですが全てを語ります

【令和元年最新版】関西のフリーランスエージェントはこう使い分けろ!おすすめの立ち回りと注意点を現役フリーランスが徹底解説

フリーランスに転職するか迷っているあなたへ。絶対おすすめな理由。エンジニアなら特に?


それでは!また!!

最後まで読んで頂きありがとうございます!
人気の記事だけ集めたので是非覗いていってください^^
 厳選!目的別にオススメ記事を紹介-あなたの欲しい情報がここに-