ブログ・お知らせ(.NETアップグレードアシスタントで、Windows上のデスクトップアプリを.NET6にマイグレート)

NTQ SOLUTION
  • コンサルティング
  • オフショア開発 expand_more
    • マイグレーション
    • DX
    • 基幹システム
    • AI
    • スマホタブレット
    • 動画ライブ配信
  • 常駐開発
  • 自社プロダクト expand_more
    • enKomm
    • KoniaLMS
    • NTQBot
    • EZ Plastic
    • Super Watermarks
  • 事例
  • 会社概要 expand_more
    • 挨拶
    • 経営理念
    • 会社概要
    • アクセス
    • 採用情報
    • パートナー募集
  • ブログ
  • 資料DL
  • お問い合わせ
  • JPexpand_more expand_less
    EN KR HK
NTQ SOLUTION
コンサルティング
オフショア開発expand_more expand_less
マイグレーション DX 基幹システム AI スマホタブレット 動画ライブ配信
常駐開発
自社プロダクトexpand_more expand_less
enKomm KoniaLMS NTQBot EZ Plastic Super Watermarks
事例
会社概要expand_more expand_less
挨拶 経営理念 会社概要 アクセス 採用情報 パートナー募集
ブログ
資料DL
お問い合わせ
JPexpand_more expand_less
EN KR HK
NTQ SOLUTION
  • コンサルティング
  • オフショア開発expand_more
  • 常駐開発
  • 自社プロダクトexpand_more
  • 事例
  • 会社概要expand_more
  • ブログ
  • 資料DL
  • お問い合わせ
  • JPexpand_more expand_less
    EN KR HK
  • コンサルティング
  • オフショア開発expand_more
    • マイグレーション
    • DX
    • 基幹システム
    • AI
    • スマホタブレット
    • 動画ライブ配信
  • 常駐開発
  • 自社プロダクトexpand_more
    • enKomm
    • KoniaLMS
    • NTQBot
    • EZ Plastic
    • Super Watermarks
  • 事例
  • 会社概要expand_more
    • 挨拶
    • 経営理念
    • 会社概要
    • アクセス
    • 採用情報
    • パートナー募集
  • ブログ
  • 資料DL
  • お問い合わせ
NTQジャパン chevron_right ブログ・お知らせ chevron_right ブログ chevron_right ブログ・お知らせ .NETアップグレードアシスタントで、Windows上のデスクトップアプリを.NET6にマイグレート

.NETアップグレードアシスタントで、Windows上のデスクトップアプリを.NET6にマイグレート

現在、数百万台の社用PCにはWindows OSが使われています。Windows OS上では、幅広いデスクトップアプリが使用されています。多くのデスクトップアプリケーションはWinFormsやWPFといったMicrosoft .NET Framework上で構築されています。


.NET(旧称 .NET Core)の登場により、Microsoftはバージョン4.8を最後に.NET Frameworkの開発を停止しました。現在、Microsoft は.NET Frameworkの新機能を追加開発することはせず、修正バージョンだけを提供しています。

これらのアプリケーションは、.NET Frameworkから.NETに移行されることで、.NET Frameworkの多くの機能を使い続けながら、次のような.NETの新機能の恩恵を受けることができます。

  • オープンソースであり、軽量であり、 高性能であること。

  • 1年毎に.NETの新しいバージョンが、2年毎にLTSバージョンがリリースされること。

  • デスクトップアプリがウェブ、クラウド、モバイル、ゲームなどの他のアプリとNETランタイムとFrameworkを共有すること。

  • .NETをアプリの一部のようにデプロイすることで、PCにインストールされている .NETのバージョンに影響を与えることなく、 .NETの最新バージョン、機能、APIをアプリが使用できること。

23-1.png

.NETアップグレードアシスタントで.Netのマイグレーションの工数が削減される

従来、デスクトップアプリの.NET Frameworkから.NETへのマイグレーションは、複雑で時間がかかる作業でした。しかし、現在、Microsoftは移行プロセスの迅速化を目指し、今まで開発者がマニュアルで実行しなければいけなかった操作を最少化するためにコマンドラインツールである.NETアップグレードアシスタントを提供するようになりました。

デスクトップアプリを.NETアップグレードアシスタントで.NET Frameworkから.NETにアップグレードするための主な操作は下記の通りです。

  • .NETアップグレードアシスタントツールをインストールする

  • プロジェクトをツールでマイグレーションする

  • エラーをマニュアルで修正する

以下で詳細に説明します。


.NETアップグレードアシスタントをインストールする


.NETアップグレードアシスタントをインストールするために、cmdまたはPowerShellコマンドウィンドウで下記のコマンドを実行します。


dotnet tool install -g upgrade-assistant


インストール完了後にはプロジェクトまたはソリューションでツールが使用可能です。


次に.NETアップグレードアシスタントでデスクトップアプリを.NET Framework 4.7.2から.NET 6にマイグレーションします。

23-2.png

プロジェクトをツールでマイグレーションする

コマンドウィンドウで、プロジェクトの中で対象となるソリューションファイル(*.sln)を含むフォルダに移動(ナビゲーション)した後、移行を開始するために下記のコマンドを実行します。


upgrade-assistant upgrade Sample.sln

このプロセスは以降、下記のように進みます。

  • ツールはソリューション内のプロジェクトの構造を分析し、各プロジェクトの移行手順を提案します。

  • ツールがバックアップ、プロジェクト選択、configファイルのアップデート等のアクションリストをステップ毎に提供します。終了するまで画面上の案内通りにマイグレーション操作を順番に選択します。

.NET 6への移行後、アシスタントツールがプロジェクト設定を自動的に選択します。

23-3.png

プロジェクトを選択すると、アシスタントツールがプロジェクトのマイグレーションのために実施するステップをリストします。

23-4.png


1つのプロジェクトのマイグレーションが完了するまで、これらのステップを順番に行います。完了後は次のプロジェクトのマイグレーションを開始します。

23-5.png

エラーをマニュアルで修正する

.NETアップグレードアシスタントは、Visual Studioにロードでき、ビルドできるプロジェクトの.NET 6に変換されたバージョンのソースコードを作り出します。ただし、下記の理由から変換後のプロジェクトがビルドされ、正常に動作することを完全には保証しません。


  • ソースコードが.NET 6に適応していないAPIを利用している可能性がある。

  • ソースコードが.NET Frameworkのみに対応するサードパーティーを利用している可能性がある。

  • Xamarin、WebForms、WCFのようなツールにサポートされていないプロジェクトである可能性がある。

そのため、ツールによるマイグレーションが完了した後、開発者はソリューションをVisual Studioにロードし、エラー検出、これまでに得たTipsや経験に従ってマニュアルで修正するためにソースコードをビルドする必要があります。

.NET 6へのマイグレーションにおける注意点

プロジェクトソースが、.NET 6では利用できない.NET Frameworkテクノロジーを使用していないか

Microsoftは、.NET 5+で利用できない技術について説明し、代替技術をマイクロソフトやコミュニティから推奨するためのWebページを作りました。

下記のリンクを参照しつつ、必要に応じて代替技術に置き換えていく必要があります。

Webページのリンク: .NET Framework technologies unavailable on .NET Core and .NET 5+

.NET Frameworkのプロジェクトソースに、サードパーティ製UIライブラリが使用されていないか

実際、ほとんどの主要なUIライブラリベンダーが、.NET Framework向けバージョンと同等か、それ以上の機能を持つ.NET 5、.NET 6に対応する新しいバージョンのライブラリをリリースしています。.NET 5、.NET 6のプロジェクトで古いバージョンから新しいバージョンにライブラリを置き換えるのは、Visual Studioを使えば非常に簡単に対応できます。

下記に特に人気のあるサプライヤーからの参考情報のリンクを掲載します。

Telerik: https://www.telerik.com/products/winforms.aspx

    https://www.telerik.com/products/wpf/overview.aspx

Grapecity: https://www.grapecity.com/blogs/componentone-is-net-6-ready

DevExpress: https://www.devexpress.com/dotnet-core/

本記事に関連するNTQのC#プロジェクトのご紹介

NTQは、お客様のWindowsデスクトップアプリ向けに.NET Frameworkをアップグレードするプロジェクトを多数ご支援してまいりました。特に販売管理、在庫管理、CRM等の基幹システムに数多く携わっております。

例えば、下記のような.NET Frameworkのマイグレーションに対応してきました。

  • VB6/.NET Framework 2.0 から .NET Framework 4.7.x/4.8へのマイグレーション

  • .NET Frameworkから.NET Core 3.x/.NET 5へのマイグレーション

先述のような基幹システムに共通することは、プロジェクト数が多いことです。そのため、これらのシステムのマイグレーションにあたっては、ソースコードや機能を移行する前に新しいフレームワークを使用するプロジェクトのコードベースを初期化する工程でとても時間がかかります。

しかし、.NET Frameworkから.NET Core 3.x/.NET 5へ移行するプロジェクトに.NETアップグレードアシスタントを適用したところ、コードベースの初期化段階にかかる時間を90%以上短縮することができました。また、コードベースの品質を向上させ、この段階で発生するバグも削減できました。その結果、お客様がこのプロジェクトにかける労力、コスト、プロジェクト実施期間を短縮することができました。

NTQは.NETのマイグレーションに関連するプロジェクトを数多くご支援してきました。.NET Framework プラットフォームで開発されたデスクトップアプリを適切な価格で迅速に.NET 6マイグレーションすることができたと評価をいただくことが多いです。また、使い慣れたアプリを使い続けながら、操作が速くなり、より美しいインターフェースのアプリが使用できるようになったともコメントをいただいております。

本記事で扱ったような現在のデスクトップアプリを新しい.NETプラットフォームに移行したいというご要望を含め、マイグレーションをご支援しております。現在のシステム状況に適したソリューションをご提案いたしますので、お気軽にNTQまでご連絡ください。

マイグレーションサービス紹介ページ

お問い合わせページ

また、NTQでは社内エンジニアによる技術に特化した情報を配信しています。あわせて、ご覧ください。

【NTQ Engineer Insight】Microsoft365&Azureクラウド

【NTQ Engineer Insight】生産性と品質を上げるクリーンコードとその浸透のさせ方

関連記事
NTQ、TIS株式会社 – 日本を代表するIT企業との資本業務提携を発表   
NTQ、TIS株式会社 – 日本を代表するIT企業との資本業務提携を発表  詳しくはこちら
Interop Tokyo 2025  ~ 社会に浸透するAIとインターネット〜に出展のお知らせ
Interop Tokyo 2025 ~ 社会に浸透するAIとインターネット〜に出展のお知らせ詳しくはこちら
NTQジャパンが設立5周年を迎える
NTQジャパンが設立5周年を迎える詳しくはこちら
NTQ、TIS株式会社 – 日本を代表するIT企業との資本業務提携を発表   
NTQ、TIS株式会社 – 日本を代表するIT企業との資本業務提携を発表  詳しくはこちら
Interop Tokyo 2025  ~ 社会に浸透するAIとインターネット〜に出展のお知らせ
Interop Tokyo 2025 ~ 社会に浸透するAIとインターネット〜に出展のお知らせ詳しくはこちら
NTQジャパンが設立5周年を迎える
NTQジャパンが設立5周年を迎える詳しくはこちら
最高品質をNTQのオフショア開発で。
お問い合わせ
arrow_upward
Back to top
お問い合わせ 資料DL
お問い合わせ 資料DL 03-3528-8780
logo
オフショア開発
マイグレーション
DX
基幹システム
AI
スマホタブレット
動画ライブ配信
ブログ
常駐開発
セミナー
自社プロダクト
enKomm
KoniaLMS
AI Chat bot
EZ Plastic
Super Watermarks
資料
事例
採用情報
お問い合わせ
会社情報
logo
オフショア開発 マイグレーション DX 基幹システム AI スマホタブレット 動画ライブ配信
常駐開発
ブログ
資料
会社情報
お問い合わせ
自社プロダクト enKomm KoniaLMS AI Chat bot EZ Plastic Super Watermarks
事例
セミナー
採用情報

© 2021 NTQ Solution. All Rights Reserved.

  • IT 補助金支援について
  • パートナー募集
  • 個人情報保護方針
  • 個人情報の取扱いについて
  • 保有個人データに関する事項
  • セキュリティーポリシー

株式会社NTQジャパン 個人情報開示請求、苦情及び相談窓口

〒100-0011 東京都千代田区内幸町一丁目2番2号 日比谷ダイビル15階

Tel 03-3528-8780

個人情報開示請求書