首页 > 解决方案 > xamarin android mvvmcross 闪屏卡住了

问题描述

将 MvvmCross 从 6.3.1 升级到 6.4.0 后,我的应用程序停止工作

它卡在启动画面上。

// 核心项目中的 App.cs

public class App : MvxApplication
{
    public override void Initialize()
    {
        // this is not called
    }
}

// 机器人项目中的 MainApplication .cs

[Application]
public class MainApplication : MvxAndroidApplication<Setup, AndroidApp>
{
    private string[] permissionsList;

    public MainApplication(IntPtr handle, JniHandleOwnership transer)
    : base(handle, transer)
    {       
     // this is called     
    }            
}

// 机器人项目中的 Setup.cs

public class Setup : MvxAndroidSetup<AndroidApp>
{
    protected override IMvxAndroidViewPresenter CreateViewPresenter()
    {
        // this is called
        return new MvxAppCompatViewPresenter(AndroidViewAssemblies);
    }
    public override IEnumerable<Assembly> GetViewModelAssemblies()
    {
        return new[] { typeof(App).Assembly };
    }
    protected override void FillTargetFactories(IMvxTargetBindingFactoryRegistry registry)
    {
        MvxAppCompatSetupHelper.FillTargetFactories(registry);
        base.FillTargetFactories(registry);
    }
}

// droid 项目中的 SplashScreen.cs

[Activity(Label = "SplashScreen", MainLauncher = true, Theme = "@style/AppTheme.Splash", NoHistory = true, ScreenOrientation = ScreenOrientation.Portrait)]
public class SplashScreen : MvxSplashScreenAppCompatActivity<MvxAppCompatSetup<App>, App>
{       
     public SplashScreen() : base(Resource.Layout.SplashScreen)
     {
         // this is called
     }
}

编辑:我追踪了我猜想破坏初始化过程的异常:

无法从 typeref 解析带有标记 01000015 的类型(程序集“System.Drawing.Common,版本=4.0.0.0,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51”中的预期类“System.Drawing.Color”)

在 System.Reflection.Assembly.GetTypes () [0x00000] in (wrapper managed-to-native) System.Reflection.Assembly.GetTypes(System.Reflection.Assembly,bool)
in :0 at MvvmCross.Core.MvxSetup+<>c .b__55_0 (System.Reflection.Assembly 程序集) [0x00000] 在 D:\a\1\s\MvvmCross\Core\MvxSetup.cs:392 在 System.Linq.Enumerable+SelectManySingleSelectorIterator2[TSource,TResult].MoveNext () [0x00051] in <715c2ff6913942e6aa8535593b3ef35a>:0 at System.Linq.Enumerable+WhereEnumerableIterator1[TSource].MoveNext () [0x0004e] in <715c2ff6913942e6aa8535593b3ef35a>:0 在 MvvmCross.Core.MvxSetup.LoadPlugins (MvvmCross.Plugin.IMvxPluginManager pluginManager) [0x0006a] 在 D:\a\1\s\MvvmCross\Core\ MvvmCross.Core.MvxSetup.InitializePluginFramework () [0x00007] 中的 MvxSetup.cs:395 在 D:\a\1\s\MvvmCross\Core\MvxSetup.cs:345 在 MvvmCross.Core.MvxSetup.InitializeSecondary () [0x00065]在 D:\a\1\s\MvvmCross\Core\MvxSetup.cs:108 在 C:\Projects\el\trunk\Mobile\src\Eloptio 中的 Eloptio.Mobile.Droid.Setup.InitializeSecondary () [0x00002] 中。移动\机器人\Setup.cs:30

标签: androidxamarin.androidmvvmcross

解决方案


推荐阅读