クラウド移行(インフラ・DB)

.net 移行とは何か?あなたのオフィスでもしなければいけない?

多くのアプリケーションの開発に欠かせないのが、「.NET」です。.NETの重要性や新製品、今後のリリース状況について解説します。Microsoft OSのサポート終了後は必ず、.NETへの移行が必須となるため、移行の際に気になるコストや所要時間についても説明します。

.net 移行とは何か?あなたのオフィスでもしなければいけない?

Microsoft Azure製品カタログ

.NETとは?

「.NET(ドットネット)」はさまざまな種類のアプリケーションを開発するためのオープンソースのプラットフォーム、または開発環境そのものを意味します。主に「Microsoft .NET Framework(マイクロソフト ドットネット フレームワーク)」を指し、Windows7以降のOSに搭載されています。開発者用のプラットフォームで.NETにより、複数のプログラミング言語やエディター、ライブラリを使用し、PCやモバイル、ゲーム、IoT向けのアプリケーションを構築することが可能です。

.NETは2000年6月にMicrosoftが提唱した「Microsoft .NET」の構想がベースで、現在のIoTを先取りし、さまざまな情報端末がインターネットによって、すべてつながる社会をイメージしています。その構想を実現するためのソフトウェア開発環境として「Visual Studio .NET」をリリースし、現在の .NETの原型になりました。Microsoft .NETは構想のベースとなる通信規格が普及せず、実現しませんでしたが、「.NET Framework」を指す「.NET」という言葉が残っています。

.NETは開発者以外が操作することは少ないアプリケーションで、誤って無効化してしまうと、多くのプログラムが動作しなくなるため、注意してください。.NETの使用を始めるにはフレームワークを理解する必要があります。

Citrix Virtual Apps and Desktop Standard for Azure ~Part 2 詳細編~
CVAD+WVDで実現する 高品質・高セキュリティなテレワーク シリーズ第2弾~比較検討編~

プログラミングに必要なフレームワークとは?

ビジネスシーンでよく登場するのが「フレームワーク」というビジネスツールです。さまざまなケースの案件を特定のパターンに当てはめ、一般化することで誰でも思考をまとめ、整理できる枠組みを指します。IT業界で使用するフレームワークは、アプリケーションを開発するプログラミング上での土台、骨組みとなるソフトウェアとなります。

アプリ作成に必要不可欠

フレームワークはWEBアプリケーションやシステム開発に欠かせない土台、骨組みで、必要不可欠な基本機能が予め搭載されています。新しいWEBサービスを開発する際、設計・開発からいかに早く市場にリリースできるかは大変重要なポイントです。新しいサービスのリリースが遅れると、ライバル企業に先行されたり、市場シェアを独占されたりするため、ビジネスの機会損失となるからです。そのため、WEBサービスを開発している多くの企業は、必要なファイルやツールを用意し、1からプログラミングを行う手法は取らず、フレームワークを活用しています。

開発者はフレームワークを使うことで、コードを書く手間をかけずに、何もしなくても、最初からサンプルページやトップページを表示させることが可能です。取りあえずの機能を揃え、後から機能やライブラリなどの便利なツールを追加し、アプリケーションを製作していきます。開発者は1からプログラミングするより、時間とコストを大幅に軽減できます。また、必要な基本機能が予め搭載されているため、プログラミングに詳しくない初心者でも、WEBアプリケーションを時間をかけずに製作することが可能です。さらに複数人での共同作業やWEBサービスの改修が容易で、バグの発生リスクも減らせます。

使用する言語に対応するフレームワークが必要

フレームワークを使用する際の注意点として、特定のプラットフォームでしか正常に動作しないものがあります。使用するプログラミング言語に対応するフレームワークが必要で、例えばRubyはRuby on Rails、JavaScriptはReactが対応します。.NETはさまざまなプログラミング言語に対応しますが、JavaやPHPには対応していません。Windows OSで動作するソフトウェアが中心で、対応するプログラミング言語はC#、Visual Basic、C++、F#など多くはMicrosoft製です。.NET FrameworkはWindows系のシステム・ソフトウェア開発で用いられることが多く、タスクの効率化やRPA(Robotic Process Automation)化に使用されるケースもあります。

新フレームワークとして.NET 5を発表

これまでWindows系のシステム・ソフトウェア開発が中心で、プラットフォームが限定されている点を解消しようと、2020年に発表されたのが「.NET 5」です。サーバーアプリ開発用の .NET CoreとWindows OS用の .NET Frameworkを統合し、Windowsだけでなく、Mac、Linuxの各OSに対応します。サーバーアプリやWebアプリ、デスクトップアプリの開発がいずれも可能です。これまで .NET Frameworkで使えていた多くの機能は、.NET Coreで使用できます。

今後のフレームワークのリリース状況

.NET Frameworkの終了に伴い、.NET Coreを後継にしたものが.NET5で、旧フレームワークを一新しています。2022年1月現在の最新リリースは、Mono/Xamarinと統合した .NET 6です。2019年に発表された.NETの今後のビジョンとして、「One .NET」という構想に基づいたリリースです。その後、1年サイクルで .NET 7、.NET 8と新しいリリースが続く予定です。

OSのバージョンアップ、サポート終了→.NETへの移行が必須に

Microsoft製品はサポート期間があります。期間が過ぎると有償サービスも含め、OSのバージョンアップやメンテナンスなどのサポートが終了します。これまで使っていた.NET Frameworkも同様です。

OSのサポート終了と共にフレームワークもサポートが終了

OSのサポートが終了するため、PC業務を継続するために必要な更新が受けられなくなります。また、これまで旧バージョンのPCで管理・運営してきたビジネス用アプリケーションなどを、バージョンアップしたOSで継続して使用するにはフレームワークも移行させる必要があります。OSのサポート終了に伴い、.NET Frameworkのサポートも終了するためです。

Microsoft は 2022年4月に廃止を発表した為、必ず移行が必要

Microsoft社は.NET Framework(「4.5.2」「4.6」「4.6.1」)のサポートを2022年4月26日にて終了すると発表しました。サポート終了後は、セキュリティ・バグ修正などを含め、バージョンアップ、テクニカルサポートをすべて受けられなくなります。つまり2022年4月までに、.NET Frameworkを最新バージョンである.NET 6に移行しなければなりません。

.NET移行の方法

.NETの最新バージョンである.NET6に移行する方法を解説します。.NET Frameworkや.NET Core、.NET5から移行できます。ほとんどのケースですべての作業を1つのツールにより移行可能です。アプリケーションの依存関係が複雑など特殊なケースの場合は、ツールを使用せず、手動で行うことも可能です。それぞれのケースについて解説します。

◎.NET Coreまたは.NETから移行する

Visual Studioのソリューション エクスプローラーで、プロジェクトを右クリック。「プロパティ」⇒「アプリケーション」⇒「一般」⇒「対象とするFramework」の一覧から「.NET6.0」を選択します。アプリを保存し、再構築して完了です。

◎ツールによる移行の手順

アップグレードアシスタントの移行ツールを使用し、.NETのWEBサイトで手順を確認しながら実行します。移行ツールで対応できない場合は、フレームワークのシステムを学習し、手動で移行可能です。

◎手動による移行の4つの手順

  1. 移行の準備 依存関係を理解し、移行のスタートを簡略化します。
  2. ファイルの移行 SDKスタイルの新しいプロジェクト型式を使用し、新しいスタイルの作成、またはSDKスタイルを使用するものを更新します。
  3. コード修正後、構築する .NETでコードを構築し、フレームワークのAPIレベルの違いに対処。必要に応じ、サードパーティツールも更新します。
  4. 実行後、テストする 必ずアプリケーションを実行し、動作をテストします。

移行にかかるコストに関して

アップデートは無料のため、移行費用はかかりません。ただし、全社で使用しているPCを一斉に移行する作業となるため、人手や労力によるコストはかかります。現在、使用中の.NETのバージョンによっても、コストはかなり異なります。

移行にかかる時間に関して

.NETの移行の影響を受けるアプリケーションや機能がどのくらいあるのか、どのバージョンを使用しているかなどの条件によって異なります。すべてのアプリケーションが.NET Frameworkで動作している場合、作業量が多くなり、時間も必要です。.NET Core系を使用していれば、時間はあまり変わりませんが、作業は比較的楽です。

まとめ

.NETの旧バージョンはサポート終了が決定しているため、最新バージョンへの移行が必須です。Microsoft のAzure App ServiceとAzure SQL Databaseを使用すれば、.NETの新バージョンへの移行がスムーズです。.NETの移行の作業と時間を省き、ビジネスのダウンタイムを軽減します。

Citrix Virtual Apps and Desktops サービスとAzure およびAzure Virtual Desktop との連携
  • fb-button
  • line-button
  • linkedin-button
RELATED SITES

関連サイト

CONTACT

サイト掲載の
お問い合わせ

TOP