Error XA1043 de .NET para Android

Mensajes de ejemplo

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 necesita algo para ejecutarse en el dispositivo. Busca un <activity> que se pueda iniciar en AndroidManifest.xml, y recurre a un elemento <instrumentation> para las aplicaciones que no tienen interfaz de usuario, como un host para pruebas de rendimiento. No se encontró ninguno.

Solution

Declare una actividad con un filtro de intención MAIN/LAUNCHER:

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

O bien, para una aplicación que no tiene actividad, declare una instrumentación:

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

También puede especificar explícitamente el nombre de la clase que se debe iniciar con . $(AndroidLaunchActivity) o $(AndroidInstrumentation) Propiedades de MSBuild.