2

複数のプラグインがランタイムをロードできる堅牢なアドイン アーキテクチャが必要なので、WPF プロジェクトで使用します。私はまだ MAF-Addin パイプライン フレームワークの学習段階にあります。

  • WPF ホスト アプリケーションは、実行時にプラグイン アセンブリを検出して読み込みます。

  • プラグインは、独自のドメインで実行されている未知のサード パーティによって作成されるため、メイン アプリケーションがクラッシュしないようにサンドボックス化する必要があります。

私はいくつかの非常に基本的な疑問を持っています:

  • サード パーティは任意の言語/テクノロジを使用してアドオンを記述できますか?ホスト側で MAF (System.Addins) と連携しますか? または.NETをサポートする必要がありますか?

  • サードパーティが私たちのためにプラグインを作成し、私たちは彼らのプラグインを私たちの WPF アプリに統合します。プラグイン MAF (addIn) フレームワークに関して、特定の要件を彼らに伝える必要がありますか? アプリケーションのメイン API 機能以外に、MAF の特定のガイドラインに従う必要がありますか?

4

1 に答える 1

2

サードパーティ プラグインの言語/テクノロジに関しては、.NET アセンブリである必要があります。これは、プラグインの .NET アセンブリがネイティブ dll または COM オブジェクトを使用できないという意味ではありません。

プラグイン開発者へのガイドラインについては、契約によって異なります。

System.Addin契約ガイドラインに忠実に従っている場合、プラグイン開発者は気にする必要はありません。アドインのビューを実装するだけで済みます。

一方、コントラクト ガイドラインに従わなかった場合 (コントラクトSystem.Objectでの使用など)、特定の条件下で必要となる追加のガイドライン (別の AppDomains またはプロセス内のプラグインなど) に従うプラグイン開発者が必要になる可能性があります。

于 2014-01-02T11:39:44.220 に答える