Special
掲載日:2022年3月31日
Visual Studio 2012サポート終了と
最新バージョン移行時の注意点
Visual Studio 2012のIDEおよび関連製品、ランタイム、コンポーネントについてのサポートが10年間のMicrosoft 製品の固定ライフサイクルポリシーに従い2023年1月10日に終了となります。
サポート期間が終わってしまうと、脆弱性が見つかってもアップデートは当然されず、高いリスクを負ったまま作業を続けていくことになります。
そのため現在該当バージョンを利用している企業はバージョンアップを早急に検討しなければなりません。
今回はバージョンアップで考えるべきポイントとトラブルになりやすいポイントなどを紹介します。
最初に確認しておくべきVisual Studio 2012のサポート状況
Microsoftからの公式発表の通りVisual Studio 2012のサポート終了が2023年1月に予定されています。
とは言えまだ時間はあるから…と考えてはいけません。
実際は、管理の状況次第ではすでにサポートが終了している可能性も含まれているので注意が必要です。
例えば、サービスパックの適用やアップデートなどはきちんとすべて行われているでしょうか?
Visual Studio 2012の場合、Update 5が未適用だと現時点ですでにサポートが切れている可能性があります。
これは新たなService PackまたはUpdateがリリースされると、その前のService PackまたはUpdate(未適用の場合を含む)はその1年後にサポートが終了するというサポートライフサイクルポリシーに基づくルールが存在しているからです。
自社で使用しているのがVisual Studio 2012の場合(もしくはそれ以降のバージョンであっても)、原則として最新のService PackやUpdateをすぐに適用する必要があるのです。
ここが抜けてしまうと、ライフサイクルポリシー上では問題なくてもサポートが受けられるトラブルとなる可能性が出てくるので、きちんとアップデートを行い最新の状態を維持するようにしましょう。
タイミングによっては、サービスパックがリリースされた時に不具合報告があったので導入を見送り、そのままになっている、というケースがあるかもしれません。
まずは自社の環境がMicrosoftの推奨している環境にきちんと適合しているかどうか、必ず確認を行ったうえで以降のポイントを確認するようにしてみてください。
1年後を見据えた移行準備とは
サポート終了時期が近づく中、まず考えるのは新しいバージョンへの買い替えです。
ですが、同じVisual Studioだからと言ってただ単純に新しいバージョンをインストールしただけでは大きなトラブルにつながりかねません。
特にVisual Studio 2013 以前を使ってビルドされたアプリケーションとライブラリは、Microsoft自身がアップグレードしたアプリでライブラリが動作しない可能性があると注意喚起しており、Visual
Studio 2012がまさに該当するバージョンとなるのです。
※詳細はこちら
こうした現状があるため、事前に最新のバージョンのVisual Studio(現在は2022)を検証用端末にインストールし、現在使用しているプロジェクトが正常にビルドできるかどうか、また不具合が出ないかどうかを確認し、エラー個所についての修正を事前に行っておく必要があります。
準備としては、2012で開発したアプリのリストを用意し、最新バージョンのVisual Studioでビルド、もし正常にビルドできない場合は改修を行ったうえ、正常な動作を行うことを確認したのち次回以降の開発を行わなければなりません。
加えて、テストを行っている間にも改修が発生している可能性もあります。
可能であれば、検証端末で一通りのチェックが終わったものから随時並行して最新バージョンでの開発を進めていくのが安心かもしれません。
全社展開用にセットアップ方法や必要な環境設定のマニュアル整備も事前に行っておけると、なお良いでしょう。
Visual Studio 2015以降で使用されるツールセットにはバイナリ互換性があるため、現在は気にする必要があまりない状態といえそうですが、今後のバージョンアップ次第では再度互換性が失われる可能性があるため、今回を機にアプリについても資産管理を行い、バージョンアップ計画をしっかりと策定しておきましょう。
トラブルの要因となるポイント
Visual Studioは前述の通りツールセット(アプリケーション バイナリ インターフェイス (ABI))やライブラリの互換性の問題が発生します。
例えばC++に限っても以下のようなポイントが挙げられています。
- プロジェクト設定によるエラー
Visual Studio 2010 以降互換性のないオブジェクトファイルまたは間違った標準ライブラリとリンクした場合エラーとなります。
- 言語のバージョンアップにより発生するエラー
言語は常にバージョンアップを繰り返し、その時点の環境に最適化され強化されているため過去では問題なかった挙動が現時点では非推奨となり削除されているケースがあります。
その他気を付けなければならないエラーがMicrosoft公式より提示されているので、移行を検討する際には参考にしてみましょう。
※詳細はこちら
2012のバージョンから最新バージョンに移行した際に発生する事例は多くなく、手探りでの調査が発生する可能性が高そうです。
サポートが行われているうちにしっかりと時間を取って検証と移行を進めないと、不具合が改修できず、また0から開発しなおす必要が出てきてしまうかもしれません。
現在利用しているソフトウェア資産を最大限活用するためにも検証環境の準備は、早め早めに行うことが必須と言えます。
現場の混乱を産まないようバージョンアップには早期着手を
Visual Studio 2012の終了が近づく中、現在も利用している企業では情シス部門主導でのバージョンアップの推進が求められています。
トラブルが発生した場合のシステムへの影響を考えると、リスクは最小限に抑える必要があります。
バージョンアップは今回説明したように事前の準備が重要であり、早めに着手することはリスクの抑制にもつながり、さらには今後の計画的なバージョンアップの合意にもつながります。
この機会に検証用端末とライセンスの準備を早めに行い、リスクを避けるための計画を早急に立てておきましょう。
さらには、今後の検証計画のために、「最低限のライセンスだけ」環境を変更して、利用できるサブスクリプション型のライセンスを利用するなどの選択肢も検討の余地があるかもしれません。
自社の開発体制とアップデートサイクルをしっかりと把握し、直前になって慌てることのないようしっかりと準備をしておきましょう。
まずは最新のライセンス費用形態を知るため、見積を取得してみるのはいかがでしょうか?
開発体制によって選ぶべきライセンスが変わるため、多くの販売実績がある販売代理店のサポートと相談しながら、開発環境の移行を進めるのがおすすめです。