Предупреждение .NET для Android XA1005
warning XA1005: Attempting basic type name matching for element with ID '@+id/text1' and type 'android.widget.TextView'
warning XA1005: If basic type name matching fails, please add a `xamarin:managedType` attribute to the element to specify the fully qualified managed type name of the element.
При включении привязок макета и code-Behind это предупреждение будет создано для каждого элемента макета с //*/@android:id
набором атрибутов и использует полное имя для типа элемента.
Например, предупреждение будет выдаваться для обоих из следующих элементов:
<android.widget.TextView
android:id="@+id/text1" />
<Android.Widget.TextView
android:id="@+id/text2" />
Но он не будет выдаваться для элементов, которые используют только неквалифицированное имя класса, например:
<TextView
android:id="@+id/text1" />
"Базовое сопоставление имен типов" пытается убедиться, что любое полное имя типа — это имя C#, а не имя Java. Сначала он проверяет краткий список известных сопоставлений между пространствами имен Java и пространствами имен C#, например сопоставление android.view
с Android.Views
. Для всех оставшихся пространств имен он разделяет пространство имен на .
каждую часть и прописывает каждую часть.
Чтобы устранить это предупреждение, измените каждый элемент, чтобы использовать его имя класса C#, или добавьте xamarin:managedType
атрибут для каждого элемента, чтобы указать полное имя C#.