System.AddInを使って、WPFのUIを返すアドイン、アドイン自身がUIであるものが作成できます。
方法 : UI を返すアドインを作成する
普通にコードを書いてアドインを使うと、呼び出しにものすごく時間がかかります。5~10秒とか。この改善方法を調べてました。結論からいうともろMSDNに書いてあって、MainメソッドにLoaderOptimization属性(LoaderOptimization.MultiDomainHost)を適用します。
Windows Presentation Foundation のアドインの概要
でも自分のコードに付けても早くならない。先のUIを返すアドインのサンプルコードでは早い。Contract以外はPipeline Builderを使用して自動生成しているので、そこも含めてどこに差があるのかずーっと調べてました。結果、Visual Studioのプロジェクトのプロパティ デバッグの「Visual Studio ホスティング プロセスを有効にする」にチェック(デフォルト)されていると、早さが変わらない!! チェックをはずしましょう。Pipeline Builderで作成されるコードは、MSDNのサンプルとは若干違うのですが、これは問題ないようですね。少しPipleline Builderの方が記述やファイルが多くなってしまいます。
また、Mainメソッドは通常、自動生成されたコードに記述されていて編集できません(編集してもリビルドで戻ってしまう)。それについては、WPF と Main メソッド - まめしば雑記 を参照。Twitterで少し話してて試してみてくれたようです。