我试图在MVVM Prism和Unity Container的项目中使用Xamarin Forms Previewer,我收到了这个错误:
这是提取的堆栈供参考:
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
我正在使用:
知道怎么解决吗?
答案 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预览器以使其全部按需运行。