Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Voorbeeldberichten
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`.
Probleem
Als twee of meer C#-typen van verschillende assembly's dezelfde volledig gekwalificeerde naam overnemen Java.Lang.Object en delen, verwijst die naam altijd naar slechts een van de typen wanneer deze worden gebruikt in Android-resourcebestanden.
Solution
De gebruikelijke manier om deze waarschuwing op te lossen, is door de naam van de typen te wijzigen, zodat elke volledig gekwalificeerde naam slechts in één assembly bestaat.
Een andere optie is om kenmerken toe te voegen [Register] aan de conflicterende beheerde typen, zodat elk type een unieke Java-typenaam heeft.
Een derde optie is het kwalificeren van de typenamen met de assemblynaam in de Android-resourcebestanden. Gebruik bijvoorbeeld de assembly-gekwalificeerde naam Library1.Class1, Library in plaats van alleen Library1.Class1. Dit werkt alleen op plaatsen waar het XML-schema een typenaam in een XML-kenmerk toestaat. Een voorbeeld hiervan is het class kenmerk voor fragment elementen.
Als u ervoor kiest om kenmerken of assembly-gekwalificeerde namen te gebruiken [Register] in plaats van de naam van de beheerde typen te wijzigen, kunt u de waarschuwingen verbergen door de /warnasmessage:XA4214 switch toe te voegen aan de MSBuild-opdrachtregel of door toe te voegen XA4214 aan de $(MSBuildWarningsAsMessages) eigenschap in uw .csproj-bestand:
<PropertyGroup>
<MSBuildWarningsAsMessages>XA4214</MSBuildWarningsAsMessages>
</PropertyGroup>