.NET Portability Analyzer

ライブラリをマルチプラットフォーム対応にしたい場合や、 アプリケーションで他の .NET 実装との互換性を確保するのに必要な作業量を知りたい場合は、 .NET Portability Analyzer が役立ちます。このツールを使用すると、アセンブリを分析して、プログラムが .NET 実装全体でどの程度柔軟な構造になっているかについて詳細なレポートを生成することができます。 Portability Analyzer は、Visual Studio 拡張機能のコンソール アプリとして提供されます。

新しいターゲット

  • .NET Core: モジュール型の設計で、side-by-side を採用しており、クロスプラットフォームのシナリオを対象としています。 side-by-side 機能により、他のアプリに影響を与えることなく新しい .NET Core バージョンを導入することができます。
  • ASP.NET Core: .NET Core 上に構築された最新の Web フレームワークであり、開発者に .NET Core と同じメリットを提供します。
  • ユニバーサル Windows プラットフォーム: .NET Native の静的コンパイルを使用することで、x64 および ARM マシンで動作する Windows ストア アプリのパフォーマンスが向上します。
  • .NET Core + プラットフォーム拡張機能: .NET Core API と、WCF、ASP.NET Core、FSharp、Azure などの .NET エコシステム内のその他の API が含まれます。
  • .NET Standard + プラットフォーム拡張機能: .NET Standard API と、WCF、ASP.NET Core、FSharp、および Azure などの .NET エコシステム内のその他の API が含まれます。

Portability Analyzer の使用方法

.NET Portability Analyzer を使用するには、Visual Studio ギャラリーから拡張機能をダウンロードし、インストールする必要があります。 これは、Visual Studio 2015 と Visual Studio 2017 で機能します。 [分析][Portability Analyzer Settings (Portability Analyzer の設定)] の順に選択して構成し、ターゲット プラットフォームを選択できます。

Portability のスクリーンショット

プロジェクト全体を分析するには、ソリューション エクスプローラーでプロジェクトを右クリックし、[Analyze Assembly Portability] (アセンブリの移植性を分析) を選択します。 または、[分析] メニューで [Analyze Assembly Portability] (アセンブリの移植性を分析) を選択します。 そこから、プロジェクトの実行可能ファイルまたは DLL を選択します。

移植性ソリューション エクスプローラー

分析を実行すると、.NET 移植性レポートが表示されます。 ターゲット プラットフォームでサポートされていない型のみが一覧に表示され、[エラー一覧][メッセージ] タブで、推奨事項を確認できます。 また、[メッセージ] タブから問題のある領域に直接移動することもできます。

移植性レポート

Visual Studio を使用しない場合は、 コマンド プロンプトから Portability Analyzer を使用することもできます。 API Portability Analyzer をダウンロードします。

  • 現在のディレクトリを分析するには、次のコマンドを入力します。\...\ApiPort.exe analyze -f .
  • 特定の .dll ファイルの一覧を分析するには、次のコマンドを入力します。\...\ApiPort.exe analyze -f first.dll -f second.dll -f third.dll

.NET 移植性レポートは、Excel ファイル (.xlsx) として現在のディレクトリに保存されます。 Excel のブックの [詳細] タブに詳細情報が記載されています。

.NET Portability Analyzer の詳細については、GitHub ドキュメントにアクセスし、Channel 9 動画の「A Brief Look at the .NET Portability Analyzer」 (.NET Portability Analyzer の概要) をご覧ください。