Errore XA1048 di .NET per Android

Messaggi di esempio

error XA1048: 'obj/Debug/net11.0-android/android/AndroidManifest.xml' does not contain an <instrumentation> element. Add an Android.App.Instrumentation subclass to the application, or set the $(AndroidInstrumentation) MSBuild property to the name of one.

Issue

L'applicazione ha scelto esplicitamente di avviarsi tramite un Android.App.Instrumentation, impostando $(AndroidUseInstrumentation) o $(EnableMSTestRunner) in true, ma non è stato trovato alcun <instrumentation> elemento in AndroidManifest.xml.

Questo è diverso da XA1043, che viene riportato quando l'applicazione non dispone né di un <activity> avviabile né di un <instrumentation>.

Soluzione

Dichiarare una strumentazione nell'applicazione:

[Instrumentation (Name = "com.companyname.myapp.MyInstrumentation")]
public class MyInstrumentation : Instrumentation
{
    protected MyInstrumentation (IntPtr handle, JniHandleOwnership ownership)
        : base (handle, ownership) { }
}

È anche possibile denominare la classe per l'avvio in modo esplicito con il $(AndroidInstrumentation) la proprietà MSBuild oppure impostare $(AndroidUseInstrumentation) su false per avviare invece l'attività dell'applicazione.