こんにちは! インフラジスティックス・ジャパン テクニカルコンサルティングチームの石橋です。
このシリーズ記事では「.NET Framework 4.8 で作成した WPF アプリケーションを .NET 6 にアップグレードする」と題して、.NET アップグレード アシスタントを使って .NET Framework 4.8 で作成した WPF アプリケーションを .NET 6 にアップグレードする方法を 4 回にわけて書いていきたいと思います。
今回は「Step 1: 実行環境を準備する」です。
Step 0: はじめに -- 出発点となる .NET Framework 4.8 WPF アプリケーションの説明
Step 1: 実行環境を準備する (今回はここ)
Step 2: .NET アップグレード アシスタントでアップグレードする
Step 3: .NET アップグレード アシスタントでアップグレードできない部分を手動で置き換え、ビルドする
このブログで使用する WPF アプリケーションのソース コードは GitHub にあります。
https://github.com/igjp-sample/WPF_DotNetFramework2DotNet_UpgradeAssistance
前回 Step 0 の終わり時点のアプリケーションは、./Step0/ScoreSheets_SampleWPFApplication です。これをローカルにダウンロードして読み進めてください。この記事では C:\ のすぐ下に Step0\ScoreSheets_SampleWPFApplication フォルダーがあり、この下にソリューション ファイルとプロジェクト フォルダーがあるという想定で進めていきます。
では早速実行環境を準備していきましょう。
.NET アップグレード アシスタントの実行環境を用意し、インストールする。
.NET アップグレード アシスタントとは、マイクロソフトが提供しているコマンドライン ツールで、.NET Framework アプリケーションを .NET 6 にアップグレードする支援ツールです。
前提条件
- Windows オペレーティング システム
- .NET 6 SDK
- Visual Studio 2022 バージョン 17.0 以降
Windows オペレーティング システム
.NET 6 をサポートしている Windows オペレーティング システムかどうか確認してください。リストはこちらにあります。今回は Windows 11 (22H2) を使用しました。
.NET 6 SDK
.NET 6 SDK がインストールされているかをまず確認します。コマンド プロンプトを起動し、GitHub からコピーした .NET Framework 4.8 のアプリケーションのあるディレクトリ (C:\Step0\ScoreSheets_SampleWPFApplication) に移動してください。そこで "dotnet --list-sdks" コマンドを実行してみてください。
.NET CLI |
C:\Step0\ScoreSheets_SampleWPFApplication>dotnet --list-sdks |
実行できましたか?
実行できなかった場合は .NET SDK がまだインストールされていません。こちらから 「SDK」の Windows 用のインストーラーをダウンロードしてインストールしてください (もしくは winget を使用してもインストールできます)。
"dotnet --list-sdks" が実行できた場合、出力結果の中に "6" で始まる数字があるかどうか確認してください。この記事執筆で使用した環境では次のような結果となりました。
コンソール |
6.0.404 [C:\Program Files\dotnet\sdk] 7.0.101 [C:\Program Files\dotnet\sdk] |
この環境には .NET 6 (6.0.404) と .NET 7 (7.0.101) の SDK がインストールされているのがわかります。
この例のように "6" で始まる数字がある場合は .NET 6 SDK がインストールされています。"6" で始まる数字がない場合 .NET 6 SDK がまだインストールされていませんので、こちらから 「SDK」の Windows 用のインストーラーをダウンロードしてインストールしてください (もしくは winget を使用してもインストールできます)。
次に "dotnet --version" を実行し、実際に .NET CLI が使用する .NET SDK のバージョンを確認します。"6" で始まる番号が出力されれば OK です。
この記事執筆で使用した環境では次のような結果となりました。
.NET CLI |
C:\Step0\ScoreSheets_SampleWPFApplication>>dotnet --version |
コンソール |
7.0.101 |
7.0.101 が出力されたので、.NET 6 SDK (6.0.404) と .NET 7 SDK (7.0.101) のうち .NET CLI は .NET 7 SDK (7.0.101) を使用するということがわかります。
このような場合、.NET 6 SDK を使用することを明示的に指定する必要があります。使用する SDK バージョンの指定は global.json ファイルで行います。"dotnet new globaljson" を実行して global.json のテンプレート ファイルを作成します。
.NET CLI |
C:\Step0\ScoreSheets_SampleWPFApplication>dotnet new globaljson |
最新バージョンの SDK でテンプレート ファイル global.json がカレント ディレクトリに作成されるので、その global.json ファイルをエディターで開き、"version" の値を "dotnet --list-sdks" で確認した .NET 6 SDK のバージョンに書き換え、上書き保存します。今回の例の場合は 6.0.404 です。
global.json |
{ "sdk": { "version": "6.0.404" } } |
もう一度 "dotnet --version" で確認してみましょう。
.NET CLI |
C:\Step0\ScoreSheets_SampleWPFApplication>>dotnet --version |
コンソール |
6.0.404 |
6.0.404 が出力されました。これで .NET 6 SDK を使用する環境を整えることができました。
以上で .NET 6 SDK のインストールおよび環境整備が完了です。
Visual Studio 2022 バージョン 17.0 以降
Visual Studio 2022 のインストール バージョンは Visual Studio のメニューの [ヘルプ] → [Microsoft Visual Studio のバージョン情報] で確認できます。
が、Visual Studio 2022 の初回リリース時のバージョンが 17.0.0 ですので、Visual Studio 2022 がインストールされていればこの要件は満たされています。
Visual Studio 2022 がインストールされていない場合はこちらからダウンロードしてインストールしてください。
この記事執筆で使用した環境では Visual Studio 2022 バージョン 17.4.3 を使用しています。
以上で .NET アップグレード アシスタントの実行環境の準備が完了です。
ここまでのアプリケーションは
https://github.com/igjp-sample/WPF_DotNetFramework2DotNet_UpgradeAssistance
の ./Step1/ScoreSheets_SampleWPFApplication にありますので、確認してみてください。
次回はいよいよ .NET アップグレード アシスタントでアップグレードしていきます。楽しみですね!
この記事の内容についてご質問やご不明な点がありましたら、インフラジスティックスのお問い合わせ先までお問い合わせください。
また、こちらからインフラジスティックスの WPF 製品の試用版をダウンロードできます。今回のアプリケーションで使用したコントロール (XamDataTree、XamDataChart、XamDataGrid、 Excel エンジン) 等に少しでも興味を持った場合はぜひお試しください。