Xamarin Forms Previewer在UnityContainer.RegisterInstance

时间:2017-03-29 14:31:37

标签: c# mvvm xamarin.forms unity-container prism

我试图在MVVM Prism和Unity Container的项目中使用Xamarin Forms Previewer,我收到了这个错误:

enter image description here

这是提取的堆栈供参考:

  

Xamarin.VisualStudio.ActivationManager |错误| 0 |渲染器   渲染此文件时遇到错误:   System.ArgumentNullException:值不能为null。参数名称:   实例

     

在Microsoft.Practices.Unity.UnityContainer.RegisterInstance   (System.Type t,System.String name,System.Object实例,   Microsoft.Practices.Unity.LifetimeManager lifetime)in:0

     

在   Microsoft.Practices.Unity.UnityContainerExtensions.RegisterInstance [TInterface]   (Microsoft.Practices.Unity.IUnityContainer容器,TInterface   实例)in:0

     

在SellerNS.Bootstrapper.RegisterTypes()中   C:\ Users \ myrepo \ Bootstrapper.cs:48

     

在Prism.Unity.UnityBootstrapper.Run()中:0

     

在Prism.Bootstrapper.Run(Xamarin.Forms.Application app)中:0

     在P:\ Users \ myrepo \ Seller \ App.xaml.cs:20

中的SellerNS.App..ctor()处

     

位于文件中的偏移量12处:行:列:0:0

     

在System.Reflection.MonoCMethod.InternalInvoke(System.Object obj,   System.Object []参数)in   /Users/builder/data/lanes/4009/3a62f1ea/source/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:661

我正在使用:

  • Visual Studio 2015 - 14.0.25424.00
  • 更新3 JDK 1.8.0_121
  • Xamarin 4.3.0.789-cycle9
  • Prism.Forms 6.0.1
  • Prism.Unity 6.1.1
  • Unity 4.0.1

知道怎么解决吗?

1 个答案:

答案 0 :(得分:0)

使用Prism时,我在Xamarin Forms Previewer中遇到了类似的错误,并通过在App.xaml.cs中添加一个空的默认构造函数来解决,如下所示:https://github.com/PrismLibrary/Prism/issues/1037

因此,向App.xaml.cs添加public App() : this(null) { }对我有用。

此外,一旦我做了上面建议的更改,我必须清理整个解决方案,重新构建它,然后重新启动Visual Studio,然后再次启动Xamarin.Forms预览器以使其全部按需运行。