使用MEF在Silverlight应用程序中导航失败

时间:2013-04-18 13:27:37

标签: c# .net silverlight navigation mef

我有一个使用MEF的Silverlight应用程序将UserControl插件加载到主shell中。每个插件都有一个元数据,其中描述的是名称,版本,图标和插件的类似内容,我使用[ImportMany]属性将它们全部导入主shell。当我单击导航栏上的一个插件时,视图占位符将导航到相应的插件。我觉得它应该在导航上抛出这样的例外很奇怪。如果我删除插件中的[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)

我搜索了很多,许多人说这是缓存和重新定位的事情(经典问题),但我仍然无法弄清楚某些文章中描述的案例与我的不一样。

有人知道发生了什么事吗?

0 个答案:

没有答案