MEF を使用して UserControl プラグインをメイン シェルにロードする Silverlight アプリケーションがあります。各プラグインには、プラグインの名前、バージョン、アイコンなどが記述されたメタデータがあり、[ImportMany] 属性を使用してそれらすべてをメイン シェルにインポートします。ナビゲーション バーで 1 つのプラグインをクリックすると、ビュー プレースホルダーが対応するプラグインに移動します。ナビゲーションでそのような例外をスローする必要があるのは奇妙だと思います。プラグインの [Export] 属性を削除すると、すべて正常に動作します。
呼び出し元が例外をスローしました。そして、ここにトレースバックがあります:
in System.Windows.Navigation.PageResourceContentLoader.EndLoad(IAsyncResult asyncResult)
in System.Windows.Navigation.NavigationService.ContentLoader_BeginLoad_Callback(IAsyncResult result)
in System.Windows.Navigation.PageResourceContentLoader.BeginLoad_OnUIThread(AsyncCallback userCallback, PageResourceContentLoaderAsyncResult result)
in System.Windows.Navigation.PageResourceContentLoader.<>c__DisplayClass4.<BeginLoad>b__0(Object args)
私はたくさん検索しましたが、多くの人はそれがキャッシングとリペアレンティングに関係する何か(古典的な問題)だと言いましたが、いくつかの記事で説明されているケースが私のものと同じではないことをまだ理解できません.
誰が何が起こっているのかについて考えを持っていますか?