我正在尝试减少应用程序大小并启用“链接所有程序集”,但我的应用程序崩溃并出现以下错误
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();
}
但没有用,有人可以帮我找出遗漏的内容
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 \
中
答案 0 :(得分:1)
最后我发现了这个问题,它是SQLite的问题所以我在下面添加了三个命令,它开始工作希望这有助于其他人
--linkskip=MvvmCross.Plugins.Sqlite
--linkskip=SQLite-net
--linkskip=MvvmCross.Plugins.Sqlite.iOS
我应该早点保留SQLite,这是我保留SQLite的最后一个项目,但是忘掉了这个时间