Krishna
Krishna

Reputation: 1985

App crashes when Link All Assemblies enabled

I am trying to reduce app size and enabled "Link All Assemblies", but my app crashes with following error

MvvmCross.Platform.Exceptions.MvxException: Failed to construct and initialize ViewModel for type Japam.Core.ViewModels.MantraasViewModel from locator MvxDefaultViewModelLocator - check InnerException for more information

I tried

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

but no luck, kept preserve attribute at assembly level of my core pcl project. Also added a couple of more methods in LinkerPleaseIncludefile

public void Include(MvvmCross.Platform.IoC.MvxPropertyInjection injection)
{
    injection = new MvvmCross.Platform.IoC.MvxPropertyInjection();
}

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

but no use, could somebody help me find out what is missing

This is what I see

MvvmCross.Platform.Exceptions.MvxException: Failed to construct and initialize ViewModel for type Japam.Core.ViewModels.MantraasViewModel from locator MvxDefaultViewModelLocator - check InnerException for more information ---> MvvmCross.Platform.Exceptions.MvxException: Problem creating viewModel of type MantraasViewModel ---> MvvmCross.Platform.Exceptions.MvxIoCResolveException: Failed to construct MantraasViewModel ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> MvvmCross.Platform.Exceptions.MvxIoCResolveException: Failed to resolve parameter for parameter sqliteConnectionFactory of type IMvxSqliteConnectionFactory when creating Japam.Core.Services.DataServices.MantraService at MvvmCross.Platform.IoC.MvxSimpleIoCContainer.GetIoCParameterValues (System.Type type, System.Reflection.ConstructorInfo firstConstructor) [0x00036] in D:\git\MvvmCross\MvvmCross\Platform\Platform\IoC\

Upvotes: 0

Views: 647

Answers (1)

Krishna
Krishna

Reputation: 1985

Finally I found the issue, it's SQLite problem so I added below three commands and it started working hope this helps someone else

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

I should kept SQLite earlier it self my last project I did kept SQLite but forgot this time

Upvotes: 1

Related Questions