個人的なメモ

Tomohiro Suzuki @hiro128_777 のブログです。Xamarin に関する事を中心に書いています。 Microsoft MVP for Development Technologies 2017- 本ブログと所属組織の公式見解は関係ございません。

.NET Framework から .NET 6 への移行時に便利なツール、.NET アップグレード アシスタント

目次

 
.NET Framework から .NET 6 への移行を行うときに便利なツールの一つに .NET アップグレード アシスタントがあります。
このツールを使うと、.NET Framework のソリューションを .NET 6 に変換してくれます。
 
公式ドキュメントは以下です。
docs.microsoft.com
 
 

なにができるの

主に、以下のような自動変換と、自動で変換できなかった(手作業が必要な)箇所への支援を提供してくれます。
 

自動変換

  • .NET Framework の csproj ファイル(非SDK形式)を .NET 6(SDK形式) に変換します。
  • .NET Framework から .NET 6 への移行で必ず必要になる定型的なコード変換を実施してくれます。

 

Windows アプリで .NET Framework のコードが引き続き動作するようにする支援

  • Windows 互換機能パックMicrosoft.Windows.Compatibilityパッケージが追加されることで多数のAPIセットが追加され、引き続き Windows 上でアプリを動作させる場合、既存のコードの大部分がそのまま利用できるようになります。

 

手作業が必要な箇所への支援

  • アナライザー Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzersパッケージが追加され、移行で問題が検出されたソースコードに警告が表示されるようになり、その後の手作業を支援してくれます。

 
支援内容の詳細は以下をご覧ください。
github.com
 
補足 1
Windows 互換機能パックは、.NET Framework のみに存在する API およびテクノロジを .NET でも利用できるようにするパッケージです。これは簡単に言えば .NET Framework の Windows 依存の API を .NET により再実装したものです。
これにより、.NET Framework のコードを .NET に移行しWindows 上で動作させる場合、既存のコードがほとんどそのままで動作します。
docs.microsoft.com
 
 

どこが便利なの

ツールで実施できる移行作業を簡単に試すことができるため、ツールでカバーできる移行がどこまでであるか、また、ツールでの変換後に必要な手作業のボリュームがどのくらいあるかを容易に確認できます。
変換の所要時間は数分から数十分程度なので、簡単に変換後に必要となる作業の量の見当をつけることができます。
 
.NET Portability Analyzer とセットで利用すると、移行計画を作成するときにとても便利です。
.NET Portability Analyzer については以下の記事を参照下さい。
hiro128.hatenablog.jp
 
 

使い方

使い方については、以下の記事を参照下さい。
hiro128.hatenablog.jp
 
 
.NET Framework から .NET 6 への移行計画については以下を参照ください。
hiro128.hatenablog.jp
 
NET Portability Analyzer については以下を参照ください。
hiro128.hatenablog.jp