启用“链接所有程序集”时,应用程序崩溃

时间:2017-02-10 20:01:35

标签: xamarin xamarin.ios mvvmcross

我正在尝试减少应用程序大小并启用“链接所有程序集”,但我的应用程序崩溃并出现以下错误

  

MvvmCross.Platform.Exceptions.MvxException:无法从定位器MvxDefaultViewModelLocator构造和初始化类型Japam.Core.ViewModels.MantraasViewModel的ViewModel - 检查InnerException以获取更多信息

我试过

--linkskip=mvvmcross.platform.ios 
--linkskip=mvvmcross.core  
--linkskip=mvvmcross.platform

但没有运气,在我的核心pcl项目的程序集级别保留了属性。 还在LinkerPleaseIncludefile

中添加了几个方法
public void Include(MvvmCross.Platform.IoC.MvxPropertyInjection injection)
{
    injection = new MvvmCross.Platform.IoC.MvxPropertyInjection();
}

public void Include(MvxDefaultViewModelLocator locator)
{
    locator = new MvxDefaultViewModelLocator();
}

但没有用,有人可以帮我找出遗漏的内容

This is what I see

  

MvvmCross.Platform.Exceptions.MvxException:无法为类型构造和初始化ViewModel   来自定位器的Japam.Core.ViewModels.MantraasViewModel   MvxDefaultViewModelLocator - 检查InnerException以获取更多信息   ---> MvvmCross.Platform.Exceptions.MvxException:创建类型为MantraasViewModel的viewModel时出现问题--->   MvvmCross.Platform.Exceptions.MvxIoCResolveException:失败   构造MantraasViewModel --->   System.Reflection.TargetInvocationException:抛出了异常   通过调用的目标。 --->   MvvmCross.Platform.Exceptions.MvxIoCResolveException:失败   解析参数sqliteConnectionFactory类型的参数   创建时的IMvxSqliteConnectionFactory   Japam.Core.Services.DataServices.MantraService         在MvvmCross.Platform.IoC.MvxSimpleIoCContainer.GetIoCParameterValues   (System.Type类型,System.Reflection.ConstructorInfo firstConstructor)   [0x00036]在D:\ git \ MvvmCross \ MvvmCross \ Platform \ Platform \ IoC \

1 个答案:

答案 0 :(得分:1)

最后我发现了这个问题,它是SQLite的问题所以我在下面添加了三个命令,它开始工作希望这有助于其他人

--linkskip=MvvmCross.Plugins.Sqlite 
--linkskip=SQLite-net 
--linkskip=MvvmCross.Plugins.Sqlite.iOS

我应该早点保留SQLite,这是我保留SQLite的最后一个项目,但是忘掉了这个时间