個人的に混乱したのでまとめました。
結論としては、MEF、MEF2共に.NET 5(.NET Core)で使用できる。
MEF(System.ComponentModel.Composition
)
- .NET Platform Extensions 2.1から提供される。(.NET 5でも使用できる)
- 「.NET Coreでは MEF2に移行する必要である」という旨の情報があったが、過去(.NET Core 2.1 より前)の情報である。
- NuGet パッケージ: https://www.nuget.org/packages/System.ComponentModel.Composition/
- docs: https://docs.microsoft.com/ja-jp/dotnet/api/system.componentmodel.composition
MEF2(System.Composition
)
- .NET Core 1.1 から提供される。
- NuGet パッケージ: https://www.nuget.org/packages/System.Composition/
- docs: https://docs.microsoft.com/ja-jp/dotnet/api/system.composition
- 以前は Microsoft.Composition というNuGet パッケージで提供されていたが、こちらは古い。
- 「.NET Framework 4.5のMEF」をMEF2と呼んでいる場合があるが、昔の話なので気にしない。