Xamarin Forms:System.Reflection.TargetInvocationException:调用目标抛出了exception

我正在努力解决这个问题。 我在这里创建了一个简单的跨平台页面是XAML代码:

   

这里是相同的跨平台页面类:

 public partial class TestPage: CarouselPage { public TestPage() { InitializeComponent(); new Label { Text = "heelow", FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label)), HorizontalOptions = LayoutOptions.Center }; } } 

为了测试我创建了简单的标签,但即使没有标签它也不起作用。

我在我的MainPage.xaml中调用此页面:

                  

在这一行上:ForTesting.MainPage.xaml.g.cs我在执行程序时遇到错误:

 public partial class MainPage : global::Xamarin.Forms.MasterDetailPage { [System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Forms.Build.Tasks.XamlG", "0.0.0.0")] private global::Xamarin.Forms.ToolbarItem CClick; [System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Forms.Build.Tasks.XamlG", "0.0.0.0")] private global::ForTesting.MasterPage masterPage; [System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Forms.Build.Tasks.XamlG", "0.0.0.0")] private void InitializeComponent() { --> this.LoadFromXaml(typeof(MainPage)); } } 

错误:

未处理的exception:System.Reflection.TargetInvocationException:调用的目标抛出了exception。

我有另一个与TestPage.xaml相同的跨平台页面,但它在我执行时正在工作。

你的Carousel页面有错误

          

轮播页面应该只有一个子页面,它应该是一个内容页面,您将无法同时添加标签页面和内容页面。 删除此行

   

如果你想把标签和内容作为旋转木马,我建议使用像CarouselView这样的东西。

编辑1

我用最新的Xamarin.Forms(2.2.0.31)创建了一个Carousel示例项目 ,我已经在iOS和Android上测试了它的工作原理。 您可以将其用作启动器来实现您的版本。 我在生产应用程序中使用此控件。

一般来说,我注意到XAML中的任何语法错误都可能显示为此exception。