Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Exempelmeddelanden
warning XA4214: The managed type `Library1.Class1` exists in multiple assemblies: Library1, Library2. Please refactor the managed type names in these assemblies so that they are not identical.
warning XA4214: References to the type `Library1.Class1` will refer to `Library1.Class1, Library1`.
Problematik
Om två eller flera C#-typer från olika sammansättningar ärver från Java.Lang.Object och delar samma fullständigt kvalificerade namn refererar det namnet alltid till bara en av typerna när det används i Android-resursfiler.
Lösning
Det vanligaste sättet att lösa den här varningen är att byta namn på typerna så att varje fullständigt kvalificerat namn bara finns i en sammansättning.
Ett annat alternativ är att lägga till [Register] attribut för de hanterade typer som står i konflikt så att var och en har ett unikt Java-typnamn.
Ett tredje alternativ är att kvalificera typnamnen med sammansättningsnamnet i Android-resursfilerna. Använd till exempel det sammansättningskvalificerade namnet Library1.Class1, Library i stället för bara Library1.Class1. Detta fungerar bara på platser där XML-schemat tillåter ett typnamn i ett XML-attribut. Ett exempel är attributet class för fragment element.
Om du väljer att använda [Register] attribut eller sammansättningskvalificerade namn i stället för att byta namn på de hanterade typerna kan du dölja varningarna antingen genom att lägga till växeln /warnasmessage:XA4214 till MSBuild-kommandoraden eller genom att lägga XA4214 till i $(MSBuildWarningsAsMessages) egenskapen i .csproj-filen:
<PropertyGroup>
<MSBuildWarningsAsMessages>XA4214</MSBuildWarningsAsMessages>
</PropertyGroup>