知識マップ: .NET Frameworkから.NETへの移行前チェックリスト

記事「.NET Frameworkから.NETへの移行前チェックリスト」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。

.NET Frameworkから.NETへの移行は実装より前の棚卸しが要で、packages.configの後継であるPackageReferenceやSDKスタイルプロジェクトへの変換は移行より先に済ませておくべき作業とされる。AppDomainの新規作成や.NET Remoting、COM+、Workflow Foundationは.NETと両立せず、BinaryFormatterも状況によっては両立しない。WCFはクライアントとサーバーで事情が異なり、サーバー側はCoreWCFかgRPCへの再設計が必要になる。ASP.NET FrameworkはASP.NET Coreの後継だがWeb Formsは同じapp modelではなく、EF6からEF Coreへの移行はruntimeの移行と切り離して後回しにするのが安全とされる。WinForms/WPFは移行できてもWindows専用のままで、Windows専用API依存はWindows互換パックで軽減できる。

.NET Frameworkから.NETへの移行前チェックリストの知識マップ.NET Frameworkから.NETへ移行する前に整理すべき依存関係の形式・非対応技術・WCFやEF6の扱い・Windows専用API依存の関係を示す図前提とするの後継利用するの後継より先に行うべきより先に行うべき用いるのは非推奨推奨される対応利用する両立しない両立しない両立しない両立しない両立しない前提とする前提とする実装を担うの後継より先に行うべきの後継両立しない両立しない利用する利用する利用する利用する軽減する利用する前提とする前提とする.NET Frameworkから.NETへの移行.NET Framework.NET(Core以降)Windows互換パックPackageReferencepackages.configSDKスタイルプロジェクト.NET Upgrade AssistantGitHub Copilotモダン化.NET Standard 2.0AppDomainの作成.NET RemotingCOM+(System.EnterpriseServices)Workflow FoundationBinaryFormatterWCFサーバー(WCFサービスのホスト)CoreWCFgRPCEF CoreEF6(Entity Framework 6)ASP.NET CoreASP.NET Framework(MVC/Web API)ASP.NET Web FormsSystem.Web / HttpContext.CurrentWPFWindows FormsWindows専用API依存WCFクライアント

概念間の関係(全30件)

図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。

主要概念の定義

.NET Frameworkから.NETへの移行
既存の.NET Framework製アプリケーションを現在の.NETへ移し替える取り組み。実装より前の着手前チェックが重視される。
.NET(Core以降)
.NET Frameworkの後継となる、クロスプラットフォーム対応の.NETランタイム(.NET 5以降)。
PackageReference
NuGetパッケージの参照をcsprojファイルへ直接記述する現在のパッケージ管理方式。
SDKスタイルプロジェクト
Microsoft.NET.Sdkをベースにした簡潔なcsprojの形式で、PackageReferenceやmulti-targetingと相性がよい。
.NET Upgrade Assistant
.NET Frameworkプロジェクトの分析とアップグレードをまとめて行う支援ツール。現在は非推奨とされている。
GitHub Copilotモダン化
.NET Frameworkから.NETへの評価・計画・コード修正・検証までを支援するMicrosoftの現行ツール群。
AppDomainの作成
実行中のプロセス内に分離された実行環境を作るための.NET Frameworkの仕組み。.NETでは新規作成がサポートされない。
.NET Remoting
.NET Frameworkでプロセス間・マシン間のオブジェクト呼び出しを行うための仕組み。.NETでは非対応。
COM+(System.EnterpriseServices)
COM+のサービスを.NET Frameworkから利用するための名前空間。.NETでは非対応。
Workflow Foundation
.NET Frameworkのワークフロー実行エンジン。.NETでは非対応で、再設計が必要になる。
BinaryFormatter
セキュリティ上の理由から段階的に廃止された.NETのバイナリ直列化機構。.NET 9以降はランタイムから実装が削除され既定では使用できない。
WCFサーバー(WCFサービスのホスト)
WCFサービスをホストする側。.NETにはbuilt-inで含まれず、CoreWCFかgRPCなどへの再設計が必要になる。
CoreWCF
WCFのサーバー側を.NETに移植するコミュニティ主導プロジェクト。マイクロソフトが公式なサポートポリシーを提供する一方、MSMQ対応パッケージ(CoreWCF.MSMQ)はSystem.Messagingのコミュニティ移植に依存する。
EF Core
modern .NET向けのORM。EF6からのdirect upgrade pathはなく、total rewriteとして移行する。
ASP.NET Core
modern .NET上で動くクロスプラットフォームのWebアプリケーションフレームワーク。
ASP.NET Web Forms
画面をPage/UserControl/ViewStateで構成する.NET Frameworkの古いWeb UIモデル。ASP.NET Coreとは同じapp modelではない。
System.Web / HttpContext.Current
ASP.NET Frameworkのリクエスト処理を支える名前空間とAPI。.NETには存在しない。
WPF
XAMLでUIを宣言的に記述する、Windows専用のデスクトップUIフレームワーク。ベクターベースの描画とデータバインディングを特徴とする。
Windows Forms
デスクトップGUIアプリケーションを構築するための.NET/.NET FrameworkのUIフレームワーク。
Windows互換パック
.NET Framework専用APIへの依存を.NET移行時に補うため約2万のAPIを提供するパッケージ。技術領域一覧にメッセージング(System.Messaging)は含まれない。
ASP.NET Framework(MVC/Web API)
.NET Framework上で動くASP.NETのWebアプリケーションフレームワーク。

機械可読データ

このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。