【发布时间】:2017-07-11 04:53:19
【问题描述】:
我在继承 PrismApplication for Autofac 的应用上使用 Autofac 容器注册了 Xamarin 表单页面
_container.RegisterTypeForNavigation<MasterLayoutPage_View, MasterLayoutPageViewModel>("MasterLayoutPage");
然后我这样导航:
await NavigationService.NavigateAsync("MasterLayoutPage");
但它总是说 MasterLayoutPage 没有注册。 但是当我检查我的 Container 的注册类型时,它就在那里,完全添加为上面的注册。
我错过了什么吗?它适用于 Unity,我只是更改为 Autofac。
我发现这很奇怪,想知道这可能是一个错误,还是带有 Autofact 的 NavigationService 无法像 Unity 那样注册类型?
【问题讨论】:
-
您能否提供重现该问题的示例?这是您真正需要提供代码以便任何人为您提供帮助而不是猜测的问题。那就是说您正在从 Unity 过渡并且不熟悉 Autofac 我真的建议您改用 DryIoc。
-
我完全熟悉 Autofac 已经使用了很多年了……但在这种情况下,它的问题在于导航服务。如图所示,所有类型都已注册...因此,即使 PageNavigationRegistery 向我显示我的 MasterpageLagout 在那里(参见最后一张图片)和容器(第二张图片),它仍然会引发第一个图像异常。我不能给你更多的代码,而不仅仅是 PrismApplication 得到了我用于注册的容器。然后是导航线。没有什么要补充的了……使用 Prism.Autofac 的 Nuger