CodeZine(コードジン)

特集ページ一覧

WPF/WinFormsアプリをマイグレーションして、ComponentOneを利用したモダナイゼーションを行う

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加
2020/02/28 12:00
目次

.NET Frameworkから.NET Coreへ(1)

 Microsoftが推奨している.NET Frameworkから.NET Coreへの移行のプロセスは以下の通りです。

  1. 対象となるプロジェクトを.NET Framework 4.7.2以降をターゲットにするよう修正する。
  2. .NET Portability Analyzerを使用して移行が可能かどうかアセンブリの分析を行う。
  3. .NET API アナライザーを使用し、.NET Core上でAPIが利用できるかどうかを評価する。
  4. Windows互換機能パックの利用を検討する。
  5. Visual Studioの機能を利用して依存関係の記述をpackage.configからPackageReferenceへ変換する。
  6. プロジェクトファイルの変換を行う。

1.対象となるプロジェクトを.NET Framework 4.7.2以降をターゲットにするよう修正する。

 .NET Frameworkと.NET CoreのAPIの違いを評価する場合、移行対象となるプロジェクトをすべて.NET Framework 4.7.2以降のバージョンに再ターゲットします。これによって、後述する各種ツールを使用して利用しているAPIの評価を行うことができるようになります。

2..NET Portability Analyzerを使用してアセンブリの分析を行うことで移行が可能かどうかを検出する。

 .NET Portability Analyzerは、Visual Studioの機能拡張のひとつで、プロジェクトを分析し、移行先バージョンのフレームワークへの移植可能性を評価することができるツールです。

 .NET Portability Analyzerは、Visual Studio 2017以降で動作します。

 上記のリンク、もしくはVisual Studioのメインメニューにある[拡張機能]からインストールすると、メインメニューの[ツール]→[オプション]に[.NET Portability Analyzer]の項目が追加されます。

.NET Portability Analyzer Option
.NET Portability Analyzer Option

 このオプションで移行対象となるフレームワークを選択したり、評価結果の出力先、ファイル名、フォーマットを指定できたりします。

 なお、このオプションはプロジェクトのコンテキストメニューから[Portability Analyzer Settings]を選択する方法でも呼び出せます。

 続けて、ソリューションエクスプローラーからプロジェクトを右クリックし、表示されたコンテキストメニューから[Analyze Project Portability]を選択すると分析が開始されます。

Analyze Project Portability
Analyze Project Portability

 分析の実行中は[出力]ウインドウで分析の進捗状況を確認できます。

Analyzing
Analyzing

 分析が完了すると[Portability Analysis Results]ウインドウが開き、分析結果のファイルにアクセスできます。

Analisis Report
Analisis Report

 分析結果には、分析対象となったプロジェクト単位の評価結果一覧と、プロジェクトに含まれる型の単位の詳細や移植可能性の情報を確認することができます。

 分析結果はオプションの指定によって、Excel、HTML、JSONの形式で出力できます。以下の図はExcelファイルで出力されたサンプルです。Portability Summery(移植可能性の概要)とDetails(詳細)シートが追加されていることが確認できます。

Summery出力結果イメージ
Summery出力結果イメージ
Detail出力結果イメージ
Detail出力結果イメージ

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 森 博之(AZPower株式会社)(モリ ヒロユキ)

     Microsoft Azure、.NETテクノロジーを使用したWebサービスのプロダクトアーキテクト。他にも技術記事の執筆やトレーニング、セミナースピーカーを行っている。  Microsoft MVPをDeveloper Technologies、Visual Studio and Develo...

バックナンバー

連載:ComponentZine(ComponentOne Studio)

もっと読む

All contents copyright © 2005-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5