.NET アップグレード アシスタントを使用してアプリケーションを .NET 10へ移行する

普段のお仕事に役立つ普遍的なプログラミングTIPSや、業界で注目度が高い最新情報をお届けする「編集部ピックアップ」。
今回は「.NET アップグレード アシスタント」を使用してアプリケーションを .NET 10へ移行する方法についてお届けします。

.NET アップグレード アシスタントとは?

「.NET アップグレード アシスタント」は、以前のバージョンの .NET Frameworkや .NETで作成しているアプリケーションを、最新バージョンの .NETへアップグレードするための機能です。

2025年12月時点での状況

この .NET アップグレード アシスタントは、従来はCLIやVisuai Studio拡張機能として提供されていましたが、Visuai Studio拡張機能は2025年11月にリリースされたVisuai Studio 2026やVisuai Studio 2022の17.14.17以降では、デフォルトで使用できないようになっています。

GitHub Copilotを使用した移行方法が推奨に

このVisuai Studio拡張機能の代わりに登場しているのが、GitHub Copilotを使用したアップグレード方法です。対象のプロジェクトを右クリックして表示されるコンテキストメニューには「最新化」という項目があり、こちらをクリックするとGitHub Copilotが起動して対象のプロジェクトのアップグレードを実施するようになります。

GitHub Copilotを使用したアップグレード
GitHub Copilotを使用したアップグレード

しかしながら、GitHub Copilotを使用して移行するにはPro以上の契約が必要となっており、Freeプランでは移行することができません。

GitHub Copilotを使用したアップグレード

Pro以上の契約を所有していない場合はどうすればいいのでしょうか?

.NET アップグレード アシスタントを使用するには?

Visuai Studio 2026やVisuai Studio 2022の最新バージョンでも、設定を変更することで従来使用していた .NET アップグレード アシスタントを使用することが可能になります。Visuai Studioのメニューから「ツール」-「オプション」を選択し、以下の「Enable legacy Upgrade Assistant」を有効にします。

.NET アップグレード アシスタントを使用するには?

有効にするとコンテキストメニューに「アップグレード」が表示されます。

.NET アップグレード アシスタントを使用するには?

こちらを選択すると .NET アップグレード アシスタントが表示されます。

.NET アップグレード アシスタントを使用するには?

Windows Formsアプリケーションを .NET 10にアップグレードする

サンプルプロジェクトは、GitHubで公開されている「Matching Game Sample」を使用します。

このサンプルプロジェクトでは、すでにサポートが終了している「.NET Framework 4.5.2」が設定されているので、こちらを「.NET Framework 4.8.1」に更新しておきます。

Windows Formsアプリケーションを .NET 10にアップグレードする
Windows Formsアプリケーションを .NET 10にアップグレードする

サンプルプロジェクトのMatchingGameはMatchingGame.Logicに依存しているので、まず、MatchingGame.Logicを最初にアップグレードします。「ソリューション エクスプローラー」でMatchingGame.Logicプロジェクトを右クリックし、「アップグレード」をクリックします。

Windows Formsアプリケーションを .NET 10にアップグレードする

以下の画面が表示されるので「プロジェクトを新しい .NETバージョンにアップグレードする」にある「所定の位置のプロジェクトのアップグレード」を選択します。

Windows Formsアプリケーションを .NET 10にアップグレードする

ターゲットフレームワークを「.NET 10.0」を選択して[次へ]をクリックします。

Windows Formsアプリケーションを .NET 10にアップグレードする

プロジェクト内でアップグレードするコンテンツを選択します。デフォルトではすべて選択した状態になっています。このままの状態で[アップグレードの選択]をクリックします。

Windows Formsアプリケーションを .NET 10にアップグレードする

アップグレードが開始されます。完了すると以下のように結果が表示されます。結果を見るとすべて問題なくアップグレードできているのが確認できます。

Windows Formsアプリケーションを .NET 10にアップグレードする

次に、MatchingGameを同様の手順でアップグレードします。完了すると以下のように結果が表示されます。警告が3個表示されているのが確認できます。

Windows Formsアプリケーションを .NET 10にアップグレードする

「NuGet パッケージ マネージャー」からMetroFrameworkMetroFramework.DesignMetroFramework.FontsMetroFramework.RunTimeを削除します。

Windows Formsアプリケーションを .NET 10にアップグレードする

MainForm.csでMainFormの基底クラスをMetroFormからFormに変更し、using句のMetroFramework.Formsを削除します。

using MatchingGame.Logic;
using System;
using System.Drawing;
using System.Windows.Forms;
//using MetroFramework.Forms;

namespace MatchingGame
{
    public partial class MainForm : Form
    {
:

GameSettings.csでMicrosoft.Win32の参照が有効になっていないので、NuGetパッケージマネージャーでMicrosoft.Win32.Registryをインストールします。

Windows Formsアプリケーションを .NET 10にアップグレードする

MatchingGameのビルドを実行します。以下のようにデモアプリの画面が表示されれば完了です。

Windows Formsアプリケーションを .NET 10にアップグレードする

さいごに

今回は .NET アップグレード アシスタントを使って .NET FrameworkのWindows Formsアプリケーションを .NET 10にアップグレードする方法を紹介しました。今回はGitHubにあるサンプルで試してみましたが、次回は弊社の .NET製品を組み込んだアプリケーションのアップグレードについても紹介したいと思います。

\  この記事をシェアする  /