Xamarin XCalendar Plugin error: TargetInvocationException

Xamarin XCalendar Plugin error: TargetInvocationException

我是 Xamarin 的新手,对 C# 不是很有经验。我安装了 Xamarin XCalendar 插件并尝试实施 EventCalendarExample 示例代码 (see GitHub here) 以更好地理解此代码的工作原理并学习如何修改和使用它。我对 Xamarin 的日历插件进行了一些研究,并喜欢这个插件,因为它展示了如何使用它。我查看的其他一些没有太多文档或示例代码可供查看。

我在我的项目中完全按原样实现了代码,但是,当我在调试代码时点击日历选项卡时,我收到以下错误:

System.Reflection.TargetInvocationException: 'Exception has been thrown by the target of an invocation.'

我的以下文件在 GitHub 中实现:

我的AppShell.xaml在下面。请注意,我的 EventCalendarExamplePage 名为 EventManagerPage。

<?xml version="1.0" encoding="UTF-8"?>
<Shell xmlns="http://xamarin.com/schemas/2014/forms" 
       xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
       xmlns:local="clr-namespace:PPA.Views"
       Title="PPA"
       x:Class="PPA.AppShell"
       >

    <!--
        The overall app visual hierarchy is defined here, along with navigation.
    
        https://docs.microsoft.com/xamarin/xamarin-forms/app-fundamentals/shell/
    -->

    <Shell.Resources>
        <ResourceDictionary>
            <Style x:Key="BaseStyle" TargetType="Element">
                <Setter Property="Shell.BackgroundColor" Value="{StaticResource Primary}" />
                <Setter Property="Shell.ForegroundColor" Value="White" />
                <Setter Property="Shell.TitleColor" Value="White" />
                <Setter Property="Shell.DisabledColor" Value="#B4FFFFFF" />
                <Setter Property="Shell.UnselectedColor" Value="#95FFFFFF" />
                <Setter Property="Shell.TabBarBackgroundColor" Value="{StaticResource Primary}" />
                <Setter Property="Shell.TabBarForegroundColor" Value="White"/>
                <Setter Property="Shell.TabBarUnselectedColor" Value="#95FFFFFF"/>
                <Setter Property="Shell.TabBarTitleColor" Value="White"/>
            </Style>
            <Style TargetType="TabBar" BasedOn="{StaticResource BaseStyle}" />
            <Style TargetType="FlyoutItem" BasedOn="{StaticResource BaseStyle}" />
        </ResourceDictionary>
    </Shell.Resources>

    <TabBar>
        <ShellContent Title="Tasks" Icon="icon_about.png" Route="TaskManagerPage" ContentTemplate="{DataTemplate local:TaskManagerPage}" />
        <ShellContent Title="Events" Icon="icon_about.png" Route="EventManagerPage" ContentTemplate="{DataTemplate local:EventManagerPage}" />
        <ShellContent Title="Reminders" Icon="icon_about.png" Route="ReminderManagerPage" ContentTemplate="{DataTemplate local:ReminderManagerPage}"/>

    </TabBar>


</Shell>

我环顾四周,没有看到其他人出现此错误。任何信息或建议将不胜感激!

注意 - 这是我在模拟器中单击日历选项卡时在“输出”窗格中看到的唯一文本。

[OpenGLRenderer] Davey! duration=1240ms; Flags=0, IntendedVsync=16577769666564, Vsync=16577769666564, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=16577772074980, AnimationStart=16577772093180, PerformTraversalsStart=16577772332780, DrawStart=16577773064980, SyncQueued=16577774097980, SyncStart=16577775454680, IssueDrawCommandsStart=16577775647080, SwapBuffers=16579009952980, FrameCompleted=16579011771880, DequeueBufferDuration=449700, QueueBufferDuration=929200, GpuCompleted=0, 

[TabLayout] MODE_SCROLLABLE + GRAVITY_FILL is not supported, GRAVITY_START will be used instead

**System.Reflection.TargetInvocationException:** 'Exception has been thrown by the target of an invocation.'

我在寻找堆栈跟踪或其他包含更多信息的东西,但我只能找到这些。错误列表没有任何内容,调用堆栈选项卡仅显示 [外部代码]。当我按照建议从异常框中单击“复制详细信息”时,我得到以下内容,没有其他内容。

System.Reflection.TargetInvocationException Message=Exception has been thrown by the target of an invocation.

原来我遗漏了一些引用的静态资源,导致它崩溃。感谢 ToolmakerSteve 提供有关 innerexception 的更多信息。我没有意识到这个异常有任何内部组件。

我能够将组件初始化包装在 try-catch 中,并在抛出时在弹出框中将异常打印为 .ToString() 。 VS 将堆栈跟踪显示为外部代码很奇怪,但我很高兴看到有关异常的更多信息。