SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(ComponentOne)(AD)

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

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

.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出力結果イメージ

次のページ
.NET Frameworkから .NET Coreへ(2)

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
ComponentZine(ComponentOne)連載記事一覧

もっと読む

この記事の著者

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11955 2020/03/05 12:18

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング