Errore XA1043 di .NET per Android

Messaggi di esempio

error XA1043: Could not determine what to launch: 'obj/Debug/net11.0-android/android/AndroidManifest.xml' does not contain a launchable <activity> or an <instrumentation> element. Set the $(AndroidLaunchActivity) or $(AndroidInstrumentation) MSBuild property to specify one.

Issue

dotnet run ha bisogno di qualcosa da avviare nel dispositivo. Cerca un elemento avviabile <activity> in AndroidManifest.xml e ripiega su un elemento <instrumentation> per le app che non hanno un'interfaccia utente, ad esempio un host di benchmark. Nessuno dei due è stato trovato.

Soluzione

Dichiarare un'attività con un MAIN/LAUNCHER filtro finalità:

[Activity (MainLauncher = true)]
public class MainActivity : Activity
{
}

In alternativa, per un'app senza attività, dichiarare una strumentazione:

[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 $(AndroidLaunchActivity) o $(AndroidInstrumentation) Proprietà di MSBuild.