Home > C# > 目的別資料 > MEF

ベクトルドロー・レベルゼロ

Managed Extensibility Framework(MEF)とは?

広告

新規作成日 2016-08-04
最終更新日

C#のアプリケーション開発では、コンポーネントそれぞれの機能を独立させ、ほかのコンポーネントと緩く結合させることで、 保守と再利用性を高めるプログラミングスタイルが多くの場面で推奨されています。 Managed Extensibility Framework(以降MEF)は、アプリケーションから機能を独立させ、 dllファイルで、後から機能を追加できるようにする仕組みを提供する機能です。

有用な機能なのですが、いくつかの問題が存在します。

  • MEFは、.NET Framework 4で提供されている。

    MEF2は、.NET Framework 4.5で使用できる。

  • どこか途中で、互換性のない形で機能の変更がされている可能性がある。

    ネット上のサンプルコードが動作しないものがある。

  • 手動で設定する参照が多い

    コードの問題なのか、参照の不足なのかわかりにくい。

  • ドキュメントが少ない

Managed Extensibility Framework (MEF)

MSDNのドキュメントです。

Managed Extensibility Framework (MEF)

SimpleCalculator: サンプル アプリケーションが紹介されていますが、Visual Studio 2015と.NET Framework 4.52の組み合わせでは、エラーが発生し、ビルドできません。 実行可能なコードが公開されており、こちらは、Visual Studio 2015と.NET Framework 4.52の組み合わせで動作しますが、 ドキュメントのコードとはかなり異なるので、ドキュメントの読み替えが必要になります。

その他のネット上に存在するサンプルコードも動かないものが存在していると思います。

Microsoft Composition (MEF 2)

Microsoft Composition (MEF 2)の入手先

http://www.nuget.org/packages/microsoft.composition

Microsoft Composition (MEF 2)は、.NET Framework 4.5に対応しています。

参考

C#のプラグイン機構MEF2に関するメモ

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

広告

Home PC C# Illustration

Copyright (C) 2011-2016 Horio Kazuhiko(kukekko) All Rights Reserved.
kukekko@gmail.com
ご連絡の際は、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません。」