gpt4 book ai didi

android - System.TypeLoadException : Parent class vtable failed to initialize, 由于 : VTable setup of type AndroidX. SwipeRefreshLayout.Widget.SwipeRefreshLayout

转载 作者:行者123 更新时间:2023-12-04 11:20:38 27 4
gpt4 key购买 nike

关于我的环境的信息

  • Mac OS 大苏尔:11.4
  • VS for Mac:8.10.6(内部版本 10)
  • Xamarin.Android:11.3.0.4
  • SDK 工具版本:26.1.1
  • SDK平台工具版本:31.0.2
  • SDK 构建工具版本:31.0.0 rc5
  • microsoft_dist_openjdk_1.8.0.25 1.8.0-25
  • Xamarin.Forms:5.0.0.2012
  • Xamarin.Forms.Visual.Material:5.0.0.2012
  • Xamarin.Google.Android.Material:1.2.1.1

  • 附加信息
  • 使用 AndroidX 库
  • 没有对 Xamarin.Android.Support.Design 的引用
  • 多次手动清洗溶液
  • 多次删除所有 bin 和 obj 文件夹并多次重置 Visual Studio
  • 目标框架:10.0 (Q)

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

    ERROR: System.TypeLoadException: Parent class vtable failed to initialize, due to: VTable setup of type AndroidX.SwipeRefreshLayout.Widget.SwipeRefreshLayout failed assembly:/data/data/com.app.dev/files/.override/Xamarin.AndroidX.SwipeRefreshLayout.dll type:SwipeRefreshLayout member:(null)at (wrapper managed-to-native) System.RuntimeTypeHandle.type_is_assignable_from(System.Type,System.Type)at System.RuntimeTypeHandle.CanCastTo (System.RuntimeType type, System.RuntimeType target) [0x00000] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/mcs/class/corlib/System/RuntimeTypeHandle.cs:265at 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:3809at Xamarin.Forms.VisualTypeConverter.Register (System.Reflection.Assembly assembly, System.Collections.Generic.Dictionary`2[TKey,TValue] mappings) [0x00019] in D:\a\1\s\Xamarin.Forms.Core\Visuals\VisualTypeConverter.cs:64at Xamarin.Forms.VisualTypeConverter.InitMappings () [0x0001a] in D:\a\1\s\Xamarin.Forms.Core\Visuals\VisualTypeConverter.cs:22at Xamarin.Forms.VisualTypeConverter.ConvertFromInvariantString (System.String value) [0x00007] in D:\a\1\s\Xamarin.Forms.Core\Visuals\VisualTypeConverter.cs:119


    下面是正在加载的页面中的 xaml:
    <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>

    最佳答案

    https://github.com/xamarin/Xamarin.Forms/issues/14424
    安装 Xamarin.AndroidX.AppCompat.AppCompatResources(版本 1.3.0)
    和降级
    Xamarin.AndroidX.Core 从版本 1.6.0 到 1.5.0
    为我解决了这个问题。

    关于android - System.TypeLoadException : Parent class vtable failed to initialize, 由于 : VTable setup of type AndroidX. SwipeRefreshLayout.Widget.SwipeRefreshLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68396079/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com