Ошибка XA1043 в .NET для Android

Примеры сообщений

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 требуется что-то для запуска на устройстве. Он ищет элемент <activity>, который можно запустить, в AndroidManifest.xml, и в противном случае использует элемент <instrumentation> для приложений без пользовательского интерфейса, таких как хост для тестирования производительности. Ни один не найден.

Решение

Объявите действие с фильтром намерений MAIN/LAUNCHER :

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

Или для приложения, не имеющего действия, объявите инструментирование:

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

Вы также можете присвоить классу имя для явного запуска с помощью $(AndroidLaunchActivity) или $(AndroidInstrumentation) Свойства MSBuild.