Errore XA4227 di .NET per Android

Messaggi di esempio

error XA4227: Architecture 'x86' doesn't match all marshal methods in architecture 'arm64-v8a'. Please see detailed MSBuild logs for more information.

Issue

Quando si compila per più architetture Android, i metodi di marshalling generati per ogni architettura devono essere coerenti. Questo errore indica che una delle architetture ha metodi marshal che non corrispondono a quelli dell'architettura modello (la prima).

Soluzione

Assicurarsi che tutte le architetture di destinazione facciano riferimento allo stesso set di tipi e metodi gestiti. Abilita il logging dettagliato di MSBuild (-v:diag) per vedere esattamente quali metodi di marshalling differiscono, quindi modifica il progetto in modo che tutte le architetture producano lo stesso insieme di metodi di marshalling.