Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Mensajes de ejemplo
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`.
Problema
Si dos o más tipos de C# de distintos ensamblados heredan de Java.Lang.Object y comparten el mismo nombre completo, ese nombre siempre hará referencia a uno de los tipos cuando se use en archivos de recursos de Android.
Solución
La manera típica de resolver esta advertencia es cambiar el nombre de los tipos para que cada nombre completo solo exista en un ensamblado.
Otra opción es agregar [Register] atributos a los tipos administrados en conflicto para que cada uno tenga un nombre de tipo Java único.
Una tercera opción es calificar los nombres de tipo con el nombre de ensamblado en los archivos de recursos de Android. Por ejemplo, use el nombre Library1.Class1, Library completo del ensamblado en lugar de simplemente Library1.Class1. Esto solo funciona en lugares donde el esquema XML permite un nombre de tipo dentro de un atributo XML. Un ejemplo es el class atributo en fragment los elementos.
Si decide usar [Register] atributos o nombres calificados para ensamblados en lugar de cambiar el nombre de los tipos administrados, puede ocultar las advertencias agregando el /warnasmessage:XA4214 modificador a la línea de comandos de MSBuild o agregando XA4214 a la propiedad en el $(MSBuildWarningsAsMessages) archivo .csproj:
<PropertyGroup>
<MSBuildWarningsAsMessages>XA4214</MSBuildWarningsAsMessages>
</PropertyGroup>