3

別のプロセスで MAF[Managed Add - In Framework] を使用してプラグインを有効にします。

問題は、個別のプロセスとして実行される各プラグインにデフォルト名「AddInProcess32」を与えることです。

MAF が作成するプロセスにカスタム名を付けることはできますか? もしそうなら、どのように?

PS: カスタム名を付けたいのはなぜですか? ユーザーに誤ってプロセスを強制終了させたくないので...プロセスに、それが私のアプリの一部であることを明確に示す名前を付けたいです。

4

1 に答える 1

2

Dos095-russ が同じ質問How to specify AddIn process names? への回答ですでに正しく分析しているように、これは実際には望ましいことですが、残念ながら不可能です。(そこに+1)。

賞金を少しでも価値のあるものにするために、いくつかのコンテキストを追加します。

そのプロセスのファイル名は、 AddInProcess クラスのコンストラクターでハードコーディングされています。これは、クラスが設計されたまさにその目的、つまり、ホスト アプリケーションからプロセス外でアドインを実行するための外部プロセスを提供するためです特定の仕組みについては、備考セクションで触れています。

アドインを実行する実行可能ファイルは、.NET Framework と共に Windows ディレクトリにインストールされた 2 つのファイルのいずれかから取得されます。デフォルトでは、ホスト アプリケーションのワードあたりのビット数に一致する実行可能ファイルが使用されます。ホストが 64 ビット プロセスの場合、AddInProcess.exe が実行されます。それ以外の場合は、AddInProcess32.exe が実行されます。実行可能ファイルの選択方法を指定するには、AddInProcess(Platform) コンストラクターを使用して AddInProcess オブジェクトを作成します。

一部のアプリケーションでプロセス外のアドインが必要になる主な理由は、MEF と MAF (System.AddIn) の選択に対する Danielg の回答に適切に要約されています。これらが実際のユース ケースに当てはまらない場合は、Is MEF a replacement for System.Addin? で提供されている回答とリンクを調べることができます。判断するために、Managed Extensibility Framework (MEF) が実際により良い解決策であるかどうかを判断するために - MEF の機能は非常に優れており、プログラミングが非常に簡単で、それに応じて広く使用されています。

于 2012-01-21T17:42:59.203 に答える