首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AndroidX.SwipeRefreshLayout.Widget.SwipeRefreshLayout类型的System.TypeLoadException:父类vtable初始化失败,原因是: VTable设置

AndroidX.SwipeRefreshLayout.Widget.SwipeRefreshLayout类型的System.TypeLoadException:父类vtable初始化失败,原因是: VTable设置
EN

Stack Overflow用户
提问于 2021-07-15 14:51:13
回答 5查看 2.4K关注 0票数 11

关于我的环境的信息

编译10)

  • Xamarin.Android: 11.3.0.4

  • SDK工具版本: 26.1.1

  • SDK平台工具版本:31.0.2

H 113SDK构建工具版本: 31.0.0 rc5

  • microsoft_dist_openjdk_1.8.0.25 1.8.0-25

  • Xamarin.Forms: 5.0.0.2012H 218

  • Xamarin.Forms.Visual.Material: 5.0.0.2012

  • Xamarin.Google.Android.Material: 1.2.1.1

附加信息

使用Xamarin.Android.Support.Design

  • Cleaned库的
  • 多次使用
  • 没有对AndroidX解决方案的引用,多次使用AndroidX All bin和obj文件夹,并多次重置Visual几次
  • 目标框架: 10.0 (Q)

问题:I能够构建并部署到我的设备上,但是当应用程序运行并加载登录页面时,在InitializeComponent()调用期间,将引发以下异常:

错误:父类VTable初始化失败,原因是: AndroidX.SwipeRefreshLayout.Widget.SwipeRefreshLayout失败assembly:/data/data/com.app.dev/files/.override/Xamarin.AndroidX.SwipeRefreshLayout.dll类型的vtable安装程序:SwipeRefreshLayout成员:(Null) at (包装托管到本地) System.RuntimeTypeHandle.type_is_assignable_from(System.Type,System.Type) at System.RuntimeTypeHandle.CanCastTo (System.RuntimeType类型)( /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/corlib/System/RuntimeTypeHandle.cs:265 at System.RuntimeType.IsAssignableFrom (System.Type c) 0x00020 in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/referencesource/mscorlib/system/rttype.cs:3809 at Xamarin.Forms.VisualTypeConverter.Register (System.Reflection.Assembly assembly,System.Collections.Generic.Dictionary`2TKey,( D:\a\1\s\Xamarin.Forms.Core\Visuals\VisualTypeConverter.cs:64中的TValue映射) 0x00019在Xamarin.Forms.VisualTypeConverter.InitMappings () 0x0001a中D:\a\1\s\Xamarin.Forms.Core\Visuals\VisualTypeConverter.cs:22在Xamarin.Forms.VisualTypeConverter.ConvertFromInvariantString (System.String值) 0x00007在D:\a\1\s\Xamarin.Forms.Core\Visuals\VisualTypeConverter.cs:119中

下面是正在加载的页面中的xaml:

代码语言:javascript
运行
复制
<ContentPage x:Class="SignInPage"
    xmlns="http://xamarin.com/schemas/2014/forms"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
    xmlns:d="http://xamarin.com/schemas/2014/forms/design"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:effects="clr-namespace:XF.Core.Effects;assembly=XF.Core"
            x:Name="SignInPage"
            IsBusy="{Binding IsBusy, Mode=OneWay}"
            Visual="Material"
            mc:Ignorable="d">
    <ContentPage.Content>
        <StackLayout
            x:Name="ContentStackLayout"
            Margin="0"
            Padding="0"
            AutomationId="ContentStackLayout"
            BackgroundColor="White"
            HorizontalOptions="FillAndExpand"
            Orientation="Vertical"
            VerticalOptions="FillAndExpand">
            <Grid
                x:Name="MainContentGrid"
                Margin="0,0,0,0"
                AutomationId="MainContentGrid"
                ColumnSpacing="0"
                HorizontalOptions="FillAndExpand"
                RowSpacing="0"
                VerticalOptions="FillAndExpand">
                <Grid.RowDefinitions>
                    <RowDefinition>
                        <RowDefinition.Height>
                            <OnIdiom
                                x:TypeArguments="GridLength"
                                Phone="50"
                                Tablet="60" />
                        </RowDefinition.Height>
                    </RowDefinition>
                    <RowDefinition Height="*" />
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="10" />
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="3*" />
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="8" />
                </Grid.ColumnDefinitions>
                <Image
                    x:Name="HeaderGradientImage"
                    Grid.Row="0"
                    Grid.Column="0"
                    Grid.ColumnSpan="6"
                    Aspect="Fill"
                    AutomationId="HeaderGradientImage"
                    HorizontalOptions="Fill"
                    Source="{Binding HeaderGradientBackgroundImageUrl}"
                    VerticalOptions="Fill" />
                <Label
                    x:Name="TitleLabel"
                    Grid.Row="0"
                    Grid.Column="0"
                    Grid.ColumnSpan="6"
                    AutomationId="TitleLabel"
                    Style="{Binding HeaderTitleWhiteLabelStyle}"
                    Text="{Binding Title}" />
                <Image
                    x:Name="LogoImage"
                    Grid.Row="0"
                    Grid.Column="4"
                    Aspect="AspectFit"
                    AutomationId="LogoImage"
                    HorizontalOptions="End"
                    Source="{Binding LogoIconUrl}"
                    VerticalOptions="Center">
                    <Image.GestureRecognizers>
                        <TapGestureRecognizer Command="{Binding AppLogoTappedCommand}" NumberOfTapsRequired="1" />
                    </Image.GestureRecognizers>
                </Image>
                <StackLayout
                    x:Name="SignInStackLayout"
                    Grid.Row="1"
                    Grid.Column="0"
                    Grid.ColumnSpan="6"
                    AutomationId="SignInStackLayout"
                    HorizontalOptions="FillAndExpand"
                    Orientation="Vertical">
                    <StackLayout.VerticalOptions>
                        <OnIdiom
                            x:TypeArguments="LayoutOptions"
                            Phone="CenterAndExpand"
                            Tablet="StartAndExpand" />
                    </StackLayout.VerticalOptions>
                    <StackLayout.Margin>
                        <OnIdiom
                            x:TypeArguments="Thickness"
                            Phone="15,0,15,0"
                            Tablet="50,75,50,0" />
                    </StackLayout.Margin>
                    <Label
                        x:Name="PleaseLogInLabel"
                        Margin="0,7,0,0"
                        AutomationId="PleaseLogInLabel"
                        FontSize="Large"
                        HorizontalOptions="Start"
                        Text="Please Log In"
                        TextColor="#002D72"
                        VerticalOptions="Center" />
                    <Label
                        x:Name="UserIdLabel"
                        Margin="0,15,0,0"
                        AutomationId="UserIdLabel"
                        FontSize="Small"
                        Text="USER ID"
                        TextColor="#002D72"
                        VerticalOptions="Center">
                        <Label.WidthRequest>
                            <OnIdiom
                                x:TypeArguments="x:Double"
                                Phone="200"
                                Tablet="320" />
                        </Label.WidthRequest>
                    </Label>
                    <Frame
                        x:Name="UserIdFrame"
                        Margin="0,0,0,0"
                        AutomationId="UserIdFrame"
                        BackgroundColor="White"
                        BorderColor="#002D72"
                        Padding="0,0,0,0">
                        <Entry
                            x:Name="UserIdEntry"
                            Margin="0,0,0,0"
                            AutomationId="UserIdEntry"
                            BackgroundColor="White"
                            FontSize="Medium"
                            Keyboard="Text"
                            Placeholder="User"
                            PlaceholderColor="#BBBBBB"
                            Text="{Binding UserId, Mode=TwoWay}"
                            TextChanged="UserIdEntry_TextChanged"
                            TextColor="#002D72"
                            VerticalOptions="Center"
                            Visual="Material">
                            <Entry.WidthRequest>
                                <OnIdiom
                                    x:TypeArguments="x:Double"
                                    Phone="200"
                                    Tablet="320" />
                            </Entry.WidthRequest>
                            <Entry.Effects>
                                <effects:CgEntryCapitalizeKeyboardEffect />
                            </Entry.Effects>
                        </Entry>
                    </Frame>
                    <Label
                        x:Name="PasswordLabel"
                        Margin="0,5,0,0"
                        AutomationId="PasswordLabel"
                        FontSize="Small"
                        Text="Password"
                        TextColor="#002D72"
                        VerticalOptions="Center">
                        <Label.WidthRequest>
                            <OnIdiom
                                x:TypeArguments="x:Double"
                                Phone="200"
                                Tablet="320" />
                        </Label.WidthRequest>
                    </Label>
                    <Frame
                        x:Name="PasswordFrame"
                        Margin="0,0,0,0"
                        AutomationId="PasswordFrame"
                        BackgroundColor="White"
                        BorderColor="#002D72"
                        Padding="0,0,0,0">
                        <Entry
                            x:Name="PasswordEntry"
                            Margin="0,0,0,0"
                            AutomationId="PasswordEntry"
                            BackgroundColor="White"
                            FontSize="Medium"
                            IsPassword="true"
                            Keyboard="Text"
                            Placeholder="Desktop Password"
                            PlaceholderColor="#BBBBBB"
                            Text="{Binding Password, Mode=TwoWay}"
                            TextChanged="PasswordEntry_TextChanged"
                            TextColor="#002D72"
                            VerticalOptions="Center">
                            <Entry.WidthRequest>
                                <OnIdiom
                                    x:TypeArguments="x:Double"
                                    Phone="200"
                                    Tablet="320" />
                            </Entry.WidthRequest>
                        </Entry>
                    </Frame>
                    <Label
                        x:Name="DomainLabel"
                        Margin="0,5,0,0"
                        AutomationId="DomainLabel"
                        FontSize="Small"
                        Text="Domain"
                        TextColor="#002D72"
                        VerticalOptions="Center">
                        <Label.WidthRequest>
                            <OnIdiom
                                x:TypeArguments="x:Double"
                                Phone="200"
                                Tablet="320" />
                        </Label.WidthRequest>
                    </Label>
                    <Frame
                        x:Name="NetworkDomainPickerFrame"
                        Margin="0,0,0,0"
                        AutomationId="NetworkDomainPickerFrame"
                        BackgroundColor="White"
                        BorderColor="#002D72"
                        Padding="0,0,0,0">
                        <Picker
                            x:Name="NetworkDomainPicker"
                            Margin="0,0,0,0"
                            AutomationId="NetworkDomainPicker"
                            BackgroundColor="White"
                            Title="Select Network Domain"
                            FontSize="Medium"
                            ItemDisplayBinding="{Binding Name}"
                            ItemsSource="{Binding NetworkDomainList}"
                            TitleColor="#BBBBBB"
                            SelectedIndexChanged="NetworkDomainPicker_SelectedIndexChanged"
                            SelectedItem="{Binding SelectedNetworkDomain, Mode=TwoWay}"
                            TextColor="#002D72"
                            VerticalOptions="Center">
                            <Picker.WidthRequest>
                                <OnIdiom
                                    x:TypeArguments="x:Double"
                                    Phone="200"
                                    Tablet="320" />
                            </Picker.WidthRequest>
                        </Picker>
                    </Frame>
                    <Button
                        x:Name="SignInButton"
                        Margin="0,15,0,0"
                        AutomationId="SignInButton"
                        BackgroundColor="#056DAE"
                        Command="{Binding SignInCommand}"
                        FontSize="Medium"
                        IsEnabled="{Binding IsFormEntryValid}"
                        Text="Log In"
                        TextColor="White">
                        <Button.HeightRequest>
                            <OnIdiom
                                x:TypeArguments="x:Double"
                                Phone="40"
                                Tablet="50" />
                        </Button.HeightRequest>
                    </Button>
                    <BoxView
                        x:Name="ViewHeaderSeparatorBoxView"
                        Margin="0,15,0,15"
                        AutomationId="ViewHeaderSeparatorBoxView"
                        BackgroundColor="#CCCCCC"
                        HeightRequest="2"
                        HorizontalOptions="FillAndExpand"
                        VerticalOptions="FillAndExpand" />
                    <ScrollView x:Name="DisclaimerScrollView" AutomationId="DisclaimerScrollView">
                        <StackLayout Orientation="Vertical">
                            <Label
                                x:Name="DisclaimerLabel"
                                Margin="0,0,0,0"
                                AutomationId="DisclaimerLabel"
                                FontSize="Small"
                                HorizontalOptions="StartAndExpand"
                                Text="{Binding SignInDisclaimerText}"
                                TextColor="#53565A"
                                VerticalOptions="StartAndExpand" />
                            <Label
                                x:Name="DisclaimerLabel"
                                Margin="0,20,0,0"
                                AutomationId="DisclaimerLabel"
                                FontSize="Micro"
                                HorizontalOptions="CenterAndExpand"
                                LineBreakMode="WordWrap"
                                Text="{Binding SignInDisclaimerText}"
                                TextColor="#53565A"
                                VerticalOptions="EndAndExpand" />
                        </StackLayout>
                    </ScrollView>
                </StackLayout>
            </Grid>
        </StackLayout>
    </ContentPage.Content>
</ContentPage>
EN

回答 5

Stack Overflow用户

发布于 2021-07-16 06:57:04

https://github.com/xamarin/Xamarin.Forms/issues/14424

安装Xamarin.AndroidX.AppCompat.AppCompatResources (1.3.0版)

和降级

从1.6.0到1.5.0版本的Xamarin.AndroidX.Core

帮我解决了这个问题。

票数 13
EN

Stack Overflow用户

发布于 2021-08-20 03:42:22

上述答案是正确的,但不完整。当将Xamarin.AndroidX.Core从1.6.0降级到1.5.0时,会导致不兼容问题。为了解决这个问题,下面是我对其他软件包的降级。

票数 5
EN

Stack Overflow用户

发布于 2021-11-30 21:30:45

在我们的安卓项目中安装Xamarin.AndroidX.SwipeRefreshLayout为我们工作,同时维护Xamarin.AndroidX.Core 1.6.0.1。

有关更多信息,请参见此处的GitHub线程:https://github.com/xamarin/Xamarin.Forms/issues/14424

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68396079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档