Ответ 1
Нашел. Документация устарела. Вам понадобится специальный c'tor с двумя параметрами, и вам придется добавить атрибут [Application]
:
[Application]
public class MyApplication : Application
{
public MyApplication(IntPtr handle, JniHandleOwnership ownerShip) : base(handle, ownerShip)
{
}
}
EDIT: Кроме того, кажется, что нужно переопределить OnCreate(). Если у вас есть только конструктор, он не будет вызываться.
public override void OnCreate()
{
// If OnCreate is overridden, the overridden c'tor will also be called.
base.OnCreate();
}
EDIT November 2015: здесь ссылка на документацию Xamarin, в которой объясняется почему такое поведение существует.
... Xamarin.Android перехватывает это, добавляя mono.MonoRuntimeProvider ContentProvider для AndroidManifest.xml во время процесс сборки. Метод mono.MonoRuntimeProvider.attachInfo() ответственный за загрузку Mono runtime в процесс. Любые попытки использовать Mono до этого момента не удастся. (Примечание: это почему типы, для которых подкласс Android.App.Application необходимо предоставить (IntPtr, JniHandleOwnership), как экземпляр приложения создается до того, как Mono может быть инициализирован.)