.NET Portability Analyzer でプログラムの互換性のチェック

samatsu 6/5/2016 4598 N/A Visual Studio

.NET Framework は現在 1.0,1.1, 2.0, 4.0, 4.6 などなど複数の .NET Frameworkのバージョンに加え、.NET Core, .NET Native, Xamarin, UWP 開発用の.NETなどなど様々なプラットフォーム向けの.NET Frameworkが存在し正直若干カオスになっている気がします。

自分のコードがどのバージョンに対応しているのかは .NET Portability Analyzerが便利です。記事作成時点で.NET Portability AnalyzerはVisual Studio 2013,2015に対応しています。

Leveraging existing code across .NET platforms
https://blogs.msdn.microsoft.com/dotnet/2014/08/06/leveraging-existing-code-across-net-platforms/
.NET Portability Analyzer
https://visualstudiogallery.msdn.microsoft.com/1177943e-cfb7-4822-a8a6-e56c7905292b

ツールをインストールするにはVisual Studio 2015を起動して [ツール]>[拡張機能と更新プログラム]をクリックします。 オンラインタブを選択して、 .NET Portabitliy Analyzer を検索してダウンロードボタンをクリックします。

インストール画面が表示されたら[インストール]をクリックします。

インストール後、Visual Studio 2015を再起動し、[ツール]>[オプション]をクリックします。オプションの .NET Portability Analyzer を選択して、互換性をチェックしたい .NET FrameowkのバージョンやプラットフォームにチェックするだけでOKです。

ちなみに、下図の画面は https://visualstudiogallery.msdn.microsoft.com/1177943e-cfb7-4822-a8a6-e56c7905292b に掲載されている画像です。Compatibility Analayzerのバージョンによって表示される内容が若干異なるみたいです。

セットアップが完了したら、あとはdllやexeなどのアセンブリを解析するだけです。任意のアセンブリを解析したい場合は、[分析]>[Analyze Assembly Portability]を選択し、ファイル選択ダイアログで解析したい dllやexeを選択します。

Visual Studioのソリューションエクスプローラーで開いているプロジェクトを解析したい場合は、ソリューションエクスプローラーで任意のプロジェクトを右クリック -> 分析 -> Analyze Assembly Portability をクリックします。

互換性の解析が終了すると下図のような画面で互換性の有無がチェックされます。各.NETのバージョンの適合度(パーセントで表示)や、別のプラットフォーム用の.NET Frameworkで存在しないメソッドなどを使っている場合はその内容が表示され非常に便利です。

簡単ですが .NET ポータビリティアナライザーのご紹介でした。