.NET Frameworkから.NETへの移行前チェックリストの知識マップ(知識グラフ)
type: Dataset
description: .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への移行
type: Concept
definition: 既存の.NET Framework製アプリケーションを現在の.NETへ移し替える取り組み。実装より前の着手前チェックが重視される。
alternative label: Frameworkから.NETへの移行
alternative label: .NET移行
requires: .NET Framework
should precede: EF Core

.NET Framework
type: Concept
definition: Windowsのコンポーネントとして扱われ、インストールされているOSのライフサイクルに沿ってサポートされるランタイム。System.Messagingの対象範囲。

.NET(Core以降)
type: Concept
definition: .NET Frameworkの後継となる、クロスプラットフォーム対応の.NETランタイム(.NET 5以降)。
alternative label: .NET Core
alternative label: モダンな.NET
succeeds: .NET Framework

Windows互換パック
type: Concept
definition: .NET Framework専用APIへの依存を.NET移行時に補うため約2万のAPIを提供するパッケージ。技術領域一覧にメッセージング(System.Messaging)は含まれない。
alternative label: Microsoft.Windows.Compatibility

PackageReference
type: Concept
definition: NuGetパッケージの参照をcsprojファイルへ直接記述する現在のパッケージ管理方式。
alternative label: PackageReference形式
succeeds: packages.config
should precede: .NET Frameworkから.NETへの移行

packages.config
type: Concept
definition: NuGetパッケージの参照をXMLファイルへ列挙する旧来のパッケージ管理方式。
alternative label: packages.config形式

SDKスタイルプロジェクト
type: Concept
definition: Microsoft.NET.Sdkをベースにした簡潔なcsprojの形式で、PackageReferenceやmulti-targetingと相性がよい。
alternative label: SDK-style csproj
should precede: .NET Frameworkから.NETへの移行

.NET Upgrade Assistant
type: Concept
definition: .NET Frameworkプロジェクトの分析とアップグレードをまとめて行う支援ツール。現在は非推奨とされている。
not recommended for: .NET Frameworkから.NETへの移行

GitHub Copilotモダン化
type: Concept
definition: .NET Frameworkから.NETへの評価・計画・コード修正・検証までを支援するMicrosoftの現行ツール群。
alternative label: GitHub Copilot app modernization
recommended for: .NET Frameworkから.NETへの移行

.NET Standard 2.0
type: Concept
definition: .NET Frameworkと.NETの双方から参照できる共有ライブラリ向けの互換仕様。.NET Frameworkは.NET Standard 2.1をサポートしないため、両対応の橋渡しとして使われる。
alternative label: netstandard2.0

AppDomainの作成
type: Concept
definition: 実行中のプロセス内に分離された実行環境を作るための.NET Frameworkの仕組み。.NETでは新規作成がサポートされない。
alternative label: AppDomain.CreateDomain
incompatible with: .NET(Core以降)

.NET Remoting
type: Concept
definition: .NET Frameworkでプロセス間・マシン間のオブジェクト呼び出しを行うための仕組み。.NETでは非対応。
alternative label: System.Runtime.Remoting
incompatible with: .NET(Core以降)

COM+(System.EnterpriseServices)
type: Concept
definition: COM+のサービスを.NET Frameworkから利用するための名前空間。.NETでは非対応。
alternative label: System.EnterpriseServices
incompatible with: .NET(Core以降)

Workflow Foundation
type: Concept
definition: .NET Frameworkのワークフロー実行エンジン。.NETでは非対応で、再設計が必要になる。
alternative label: WF
incompatible with: .NET(Core以降)

BinaryFormatter
type: Concept
definition: セキュリティ上の理由から段階的に廃止された.NETのバイナリ直列化機構。.NET 9以降はランタイムから実装が削除され既定では使用できない。

WCFサーバー(WCFサービスのホスト)
type: Concept
definition: WCFサービスをホストする側。.NETにはbuilt-inで含まれず、CoreWCFかgRPCなどへの再設計が必要になる。
alternative label: WCFサービスホスト

CoreWCF
type: Concept
definition: WCFのサーバー側を.NETに移植するコミュニティ主導プロジェクト。マイクロソフトが公式なサポートポリシーを提供する一方、MSMQ対応パッケージ(CoreWCF.MSMQ)はSystem.Messagingのコミュニティ移植に依存する。
implements: WCFサーバー(WCFサービスのホスト)

gRPC
type: Concept
definition: HTTP/2ベースの高性能なRPCフレームワーク。WCFサーバーのmodern化先の1つ。

EF Core
type: Concept
definition: modern .NET向けのORM。EF6からのdirect upgrade pathはなく、total rewriteとして移行する。
alternative label: Entity Framework Core
succeeds: EF6(Entity Framework 6)

EF6(Entity Framework 6)
type: Concept
definition: .NET Frameworkの主要なORM。EF Coreへはdirect upgrade pathがなく、total rewriteとして扱われる。
alternative label: Entity Framework 6

ASP.NET Core
type: Concept
definition: modern .NET上で動くクロスプラットフォームのWebアプリケーションフレームワーク。
succeeds: ASP.NET Framework(MVC/Web API)

ASP.NET Framework(MVC/Web API)
type: Concept
definition: .NET Framework上で動くASP.NETのWebアプリケーションフレームワーク。
alternative label: ASP.NET MVC
alternative label: ASP.NET Web API
requires: .NET Framework

ASP.NET Web Forms
type: Concept
definition: 画面をPage/UserControl/ViewStateで構成する.NET Frameworkの古いWeb UIモデル。ASP.NET Coreとは同じapp modelではない。
alternative label: Web Forms
broader: ASP.NET Framework(MVC/Web API)

System.Web / HttpContext.Current
type: Concept
definition: ASP.NET Frameworkのリクエスト処理を支える名前空間とAPI。.NETには存在しない。
alternative label: System.Web
incompatible with: .NET(Core以降)

WPF
type: Concept
definition: XAMLでUIを宣言的に記述する、Windows専用のデスクトップUIフレームワーク。ベクターベースの描画とデータバインディングを特徴とする。
alternative label: Windows Presentation Foundation

Windows Forms
type: Concept
definition: デスクトップGUIアプリケーションを構築するための.NET/.NET FrameworkのUIフレームワーク。
alternative label: WinForms

Windows専用API依存
type: Concept
definition: レジストリ、WMI、EventLog、System.Drawing.Common、COM、Office Interopなど、Windows専用のAPIに依存しているコード。
alternative label: レジストリ/WMI/EventLog/System.Drawing.Common/COM/Office Interop依存

WCFクライアント
type: Concept
definition: WCFサービスを呼び出す側。modern .NET向けのサポートされたNuGetパッケージが用意されている。
alternative label: WCF Client

subject: .NET Frameworkから.NETへの移行
predicate: requires
object: .NET Framework
description: 移行前には、現行の.NET Framework側(4.7.2以降、可能なら4.8.1)を整理しておくことが前提とされる
evidence: premigration-needed-changes
verified at: 2026-08-01
certainty: established

subject: .NET(Core以降)
predicate: succeeds
object: .NET Framework
description: .NET(Core以降)は.NET Frameworkの後継となるクロスプラットフォームのランタイムである
evidence: framework-overview
verified at: 2026-08-01
certainty: established

subject: .NET Frameworkから.NETへの移行
predicate: uses
object: Windows互換パック
description: Windows専用のまま移行する場合、Windows Compatibility Packでレジストリ・WMI・EventLogなどのAPIをmodern .NETから使えるようにする現実路線がある
evidence: windows-compat-pack
verified at: 2026-08-01
certainty: context-dependent

subject: PackageReference
predicate: succeeds
object: packages.config
description: PackageReferenceはpackages.configの後継となるパッケージ参照形式である
evidence: migrate-packages-config-to-package-reference
verified at: 2026-08-01
certainty: established

subject: SDKスタイルプロジェクト
predicate: shouldPrecede
object: .NET Frameworkから.NETへの移行
description: 移植前ガイドは、SDKスタイルのプロジェクト形式への変換を.NET移行より先に済ませることを推奨している
evidence: premigration-needed-changes
verified at: 2026-08-01
certainty: established

subject: PackageReference
predicate: shouldPrecede
object: .NET Frameworkから.NETへの移行
description: 移植前ガイドは、参照をPackageReference形式へ寄せることを.NET移行より先に済ませることを推奨している
evidence: premigration-needed-changes
verified at: 2026-08-01
certainty: established

subject: .NET Upgrade Assistant
predicate: notRecommendedFor
object: .NET Frameworkから.NETへの移行
description: .NET Upgrade Assistantは公式ドキュメント上すでに非推奨になっており、GitHub Copilotモダン化を使うよう案内されている
evidence: upgrade-assistant-overview
verified at: 2026-08-01
certainty: established

subject: GitHub Copilotモダン化
predicate: recommendedFor
object: .NET Frameworkから.NETへの移行
description: 現行の公式案内では、評価・計画・コード修正・検証までを含めた支援としてGitHub Copilotモダン化が中心に据えられている
evidence: overview
verified at: 2026-08-01
certainty: established

subject: .NET Frameworkから.NETへの移行
predicate: uses
object: .NET Standard 2.0
description: old/new双方から参照する必要がある共有ライブラリでは、.NET Standard 2.0を橋渡しとして使うのが現実解になりやすい
evidence: net-standard
verified at: 2026-08-01
certainty: context-dependent

subject: AppDomainの作成
predicate: incompatibleWith
object: .NET(Core以降)
description: 新しいAppDomainを作って隔離するという使い方は.NETではサポートされておらず、別プロセスやAssemblyLoadContextでの再設計が必要になる
evidence: net-framework-tech-unavailable
verified at: 2026-08-01
certainty: established

subject: .NET Remoting
predicate: incompatibleWith
object: .NET(Core以降)
description: .NET Remotingは.NETでは非対応で、IPC・HTTP・gRPC・Task ベースなどへ再設計する必要がある
evidence: net-framework-tech-unavailable
verified at: 2026-08-01
certainty: established

subject: COM+(System.EnterpriseServices)
predicate: incompatibleWith
object: .NET(Core以降)
description: COM+(System.EnterpriseServices)は.NETでは非対応で、前提の設計を分離・置換する必要がある
evidence: net-framework-tech-unavailable
verified at: 2026-08-01
certainty: established

subject: Workflow Foundation
predicate: incompatibleWith
object: .NET(Core以降)
description: Workflow Foundationは.NETでは非対応で、CoreWFなど代替を含め別見積もりで考える必要がある
evidence: net-framework-tech-unavailable
verified at: 2026-08-01
certainty: established

subject: BinaryFormatter
predicate: incompatibleWith
object: .NET(Core以降)
description: .NET 9以降ではBinaryFormatterの実装がランタイムに含まれず、呼び出すと常にPlatformNotSupportedExceptionを投げる
evidence: binaryformatter-migration-guide
verified at: 2026-08-01
certainty: context-dependent

subject: WCFサーバー(WCFサービスのホスト)
predicate: requires
object: CoreWCF
description: WCFサービスをホストする側をmodern化する経路の1つとして、既存クライアント互換を保ったままCoreWCFへ移す方向がある
evidence: corewcf
verified at: 2026-08-01
certainty: context-dependent

subject: WCFサーバー(WCFサービスのホスト)
predicate: requires
object: gRPC
description: WCFサービスをホストする側をmodern化するもう1つの経路として、gRPCなどmodernなRPC/HTTPベースへ再設計する方向がある
evidence: https://learn.microsoft.com/en-us/aspnet/core/grpc/why-migrate-wcf-to-dotnet-grpc
verified at: 2026-08-01
certainty: context-dependent

subject: CoreWCF
predicate: implements
object: WCFサーバー(WCFサービスのホスト)
description: CoreWCFはWCFサーバー機能をmodern .NET上に実装するが、WCFのすべてではなくサブセットである
evidence: corewcf
verified at: 2026-08-01
certainty: established

subject: EF Core
predicate: succeeds
object: EF6(Entity Framework 6)
description: EF CoreはEF6の後継ORMだが、total rewriteでありdirect upgrade pathはない
evidence: porting
verified at: 2026-08-01
certainty: established

subject: .NET Frameworkから.NETへの移行
predicate: shouldPrecede
object: EF Core
description: runtimeの移行とORMの移行は別問題として扱い、まずmodern .NETに移ってからEF Coreへ別プロジェクトとして移行するのが安全とされる
evidence: porting
verified at: 2026-08-01
certainty: established

subject: ASP.NET Core
predicate: succeeds
object: ASP.NET Framework(MVC/Web API)
description: ASP.NET CoreはASP.NET Frameworkの後継フレームワークとして位置付けられる
evidence: https://learn.microsoft.com/en-us/aspnet/core/migration/fx-to-core/
verified at: 2026-08-01
certainty: established

subject: ASP.NET Web Forms
predicate: incompatibleWith
object: ASP.NET Core
description: Web FormsのPage/UserControl/ViewStateモデルはASP.NET Coreのapp modelと同じではなく、画面資産をそのまま持っていける前提で考えないほうが安全とされる
evidence: https://learn.microsoft.com/en-us/aspnet/core/migration/fx-to-core/start
verified at: 2026-08-01
certainty: context-dependent

subject: System.Web / HttpContext.Current
predicate: incompatibleWith
object: .NET(Core以降)
description: System.WebやHttpContext.Currentは.NETには存在せず、shared libraryからは外へ剥がす必要がある
evidence: https://learn.microsoft.com/en-us/aspnet/core/migration/fx-to-core/
verified at: 2026-08-01
certainty: established

subject: WPF
predicate: uses
object: BinaryFormatter
description: WPFはデザイナーのシリアライズやクリップボード・drag & dropの経路でBinaryFormatterに依存することがある
evidence: winforms-applications
verified at: 2026-08-01
certainty: context-dependent

subject: Windows Forms
predicate: uses
object: BinaryFormatter
description: WinFormsはクリップボード・drag & drop・ResX・デザイナーのシリアライズでBinaryFormatterに依存することがある
evidence: winforms-applications
verified at: 2026-08-01
certainty: context-dependent

subject: WPF
predicate: uses
object: Windows専用API依存
description: WPFはWindows専用のままであり、周辺のWindows専用APIに依存し続けることが多い
evidence: windows-compat-pack
verified at: 2026-08-01
certainty: context-dependent

subject: Windows Forms
predicate: uses
object: Windows専用API依存
description: WinFormsはWindows専用のままであり、周辺のWindows専用APIに依存し続けることが多い
evidence: windows-compat-pack
verified at: 2026-08-01
certainty: context-dependent

subject: Windows互換パック
predicate: mitigates
object: Windows専用API依存
description: Windows専用のまま移行するなら、Windows Compatibility Packがレジストリ・WMI・EventLogなど多くのWindows専用APIをmodern .NETから使えるようにする
evidence: windows-compat-pack
verified at: 2026-08-01
certainty: context-dependent

subject: .NET(Core以降)
predicate: uses
object: WCFクライアント
description: 既存のWCFサービスを呼び出す必要がある場合、modern .NETにはその側向けのサポートされたNuGetパッケージが用意されている
evidence: wcf-client
verified at: 2026-08-01
certainty: context-dependent

subject: WCFサーバー(WCFサービスのホスト)
predicate: requires
object: .NET Framework
description: 組み込み(built-in)のWCFサービスホストは、もともと.NET Frameworkの通信フレームワークとして提供されていた。CoreWCFやgRPCへ移行すればこの前提から外れ、.NET Frameworkなしでもホストできる
evidence: framework-overview
verified at: 2026-08-01
certainty: context-dependent

subject: ASP.NET Framework(MVC/Web API)
predicate: requires
object: .NET Framework
description: ASP.NET Framework(MVC/Web API)は.NET Framework上で動作するWebアプリケーションフレームワークである
evidence: framework-overview
verified at: 2026-08-01
certainty: established