.NET Framework 4.8のアプリケーションを.NETアプリケーションに変換する "upgrade-assistant" を利用すると、
比較的少ない手間で移植できます。
Visual Studio がインストールされている場合には、Visual Studioのプログラムフォルダにある、
"x64 Native Tools Command Prompt for VS"のショートカットをクリックしてコマンドプロンプトを起動します。
プロンプトに以下のコマンドを入力して、upgrade-assistant をインストールします。
dotnet tool install -g upgrade-assistant
インストールできると下図の状態になります。
インストールした upgrade-assistant を利用して.NETアプリケーションに変換します。次のコマンドを実行します。
upgrade-assistant upgrade (アップデートしたいプロジェクトの .csproj ファイル)
実行すると、テレメトリに関する情報収集が始まります。[続行するには、任意のキーを押してください...]のメッセージが表示されますので、
キーを押します。~
下図の画面が表示されます。
今回は[所定の位置のプロジェクトのアップグレード (framework.inplace)]の項目を選択します。[Enter]キーを押します。
[優先するターゲット フレームワークは何ですか?]の確認画面が表示されます。
今回は ".NET 10.0"を選択します。[Enter]キーを押します。
[必要なオプションをすべて収集し、アップグレードを実行する準備ができました。このまま続けますか?]
の確認メッセージが表示されます。[y]キーを押して[Enter]キーを押します。
アップグレードの処理が始まります。
アップグレードが終了しました。下図の画面が表示されます。
単純なプログラムの場合、アップグレード完了後にビルドがそのまま通り実行できる場合もあります。
アップグレードしただけではビルドが通らないアプリケーションもあります。以下の対応をします。
.NET Framework のWindows Formアプリケーションでは、設定は Settings.settings ファイルから読み込みますが、
.NET アプリケーションではApp.configからの読み込みはサポートされていないです。
appsettings.json からの設定読み込みに変える必要があります。appsettings.json からの値の読み込みについてはこちらの記事を参照してください。
.NET Frameworkでは System.Data.SqlClient はusingすればすぐに利用できますが、.NET アプリケーションでは、
NuGetでSystem.Data.SqlClient をインストールする必要があります。
.NETの場合、System.Data.SqlClient または Microsoft.Data.SqlClient が選択できますが、状況によってどちらを採用するかが分かれます。
こちらのライブラリのほうが、System.Data.SqlClient より新しいですが、xsdファイルからコードを生成する仕組みを利用している場合、
生成コードはSystem.Data.SqlClientで生成されるため、コードの置換が必要になり、かなりの手間がかかります。
一回置換しても、データセットの変更で再度コードが生成された場合に、すべてのSystem.Data.SqlClient を System.Data.SqlClientに置換する必要があります。
逆にコード生成がない場合、直接 SqlClient を呼び出している場合には、Microsoft.Data.SqlClient を利用しても大きな問題はないです。
Microsoft.Data.SqlClientより古いですが、xsdファイルからコードを生成する仕組みを利用している場合との相性が良いです。