プラグインの拡張性を提供するために、プロジェクトで MEF を使用しました。これはうまく機能しますが、プラグイン アセンブリをメイン アプリから分離する必要があることに気付いたので、少なくとも、プラグインがクラッシュしてもメイン アプリはクラッシュしません。
残念ながら、これは予想よりも複雑なようです。最適なソリューションを提供するには、MAF と MEF の組み合わせが必要です。
しかし、リソースと時間が不足しているため、少なくとも当面は満足のいく回避策で十分です。
詳細なログ記録のために、すでにAppDomain.CurrentDomain.UnhandledException
イベントを使用しています。AppDomain
これで、例外の原因も検出できることに気付きました。この時点でこれらの未処理の例外を実際に処理する方法はありますか?この方法で、外部アセンブリで例外が発生したかどうかを条件付きで確認し、発生した場合は無視して、メイン アプリが影響を受けないようにすることができます。
OFC、提案された代替アプローチも高く評価されます。