iSeller Commerce
iSeller POS Retail
iSeller POS F&B
iSeller POS Express
Crosslight
WebUI
ClientUI
What's New
Download Trial
Web Solution
Mobile Solution
Enterprise Solution
Custom Development
Blog
Community
Latest Development Blogs
ForumPostTopic
Browse By Tag
Hi,
How do we compile a release version with Crosslight binaries? The Release profile for our build was set to "Link SDK Assemblies Only" on Android Build setup. There are also calls to preserve SQLite, PushNotification, and Social Services but when released we are receiving an error with one of view models... see attached screenshot.
This error does not occur on debug mode, so am guessing this has something to do with how it was built for release.
Hi Jimmy,Here is how to fix it, please add the attached files in YourProject.Android, and change the build options of that files into LinkDescriptionI also attach the screen shot. I think this is caused because we choose Link SDK assemblies only, it ignore the Linq files, however, we need to use Link SDK only to reduce size.Hope that will helps!
Hi Jimmy,
Our developer suspect this is a data error, which means what you must do is clean your bin or obj or make sure your App have access to your database.However could you also show me your step by step how you do the release?
Hi Jimmy,Ok, I will test it, I will try it using our Simple CRM/Sync Sample because, it was most complete. I will get back to you when done testing.
using System;using System.Collections.Generic; using System.Linq; using Intersoft.AppFramework; using Intersoft.AppFramework.Identity; using Intersoft.AppFramework.Models; using Intersoft.AppFramework.ViewModels; using Intersoft.Crosslight; using Intersoft.Crosslight.Input; using Intersoft.Crosslight.RestClient; using Mercury.Domain.Data; using Mercury.Mobile.Core.Models.EventAggregators; using Mercury.Mobile.Core.Models.QueryDefinitions; using Mercury.Mobile.Core.Services; using Mercury.Mobile.Common.Extensions; namespace Mercury.Mobile.Core.ViewModels.Collection { public sealed class LocationListViewModel : DataListViewModelBase<Location, ILocationRepository> { #region Field Variables private IQueryDefinition f_FilterQueryDefinition; private IQueryDefinition f_ViewQueryDefinition; private User f_User; #endregion #region Constructors public LocationListViewModel() { // Configure data behaviors. this.EnableRefresh = true; this.EnableAsyncFilter = true; this.ExitEditModeOnDelete = true; this.EnableIncrementalRefresh = true; // Enable incremental loading. this.EnableIncrementalLoading = true; this.IncrementalLoadingSize = 20; // Customize the service descriptor. this.ServiceDescriptor = new ServiceDescriptor(); this.ServiceDescriptor.Parameters.Add("userName", this.User.UserName); this.ServiceDescriptor.ServiceName = "LocationsByUser"; this.ServiceDescriptor.HttpMethod = HttpMethod.GET; // Commands. this.LoadIncrementalCommand = new DelegateCommand(this.ExecuteLoadIncremental, this.CanExecuteLoadIncremental); this.CancelCommand = new DelegateCommand(this.ExecuteCancel); this.DoneCommand = new DelegateCommand(this.ExecuteDone); } #endregion #region Commands public DelegateCommand LoadIncrementalCommand { get; set; } public DelegateCommand CancelCommand { get; set; } public DelegateCommand DoneCommand { get; set; } #endregion #region Properties /// <summary> /// Gets the filter query. /// </summary> /// <value>The filter query.</value> protected override IQueryDefinition FilterQuery { get { if (this.f_FilterQueryDefinition == null) this.f_FilterQueryDefinition = new LocationQueryDefinition(); return this.f_FilterQueryDefinition; } } /// <summary> /// Gets the view query. /// </summary> /// <value>The view query.</value> protected override IQueryDefinition ViewQuery { get { if (this.f_ViewQueryDefinition == null) this.f_ViewQueryDefinition = new LocationQueryDefinition(); return this.f_ViewQueryDefinition; } } /// <summary> /// Gets the user. /// </summary> /// <value>The user.</value> public User User { get { if (this.f_User == null) this.f_User = this.GetService<IUserService>().GetCurrentUser(); return this.f_User; } } #endregion #region Methods private bool CanExecuteLoadIncremental(object paramater) { return this.EnableIncrementalLoading; } private void ExecuteLoadIncremental(object parameter) { this.LoadDataIncremental(); } private void ExecuteCancel(object parameter) { this.NavigationService.Close(new NavigationResult(NavigationResultAction.Cancel)); } private void ExecuteDone(object parameter) { this.NavigationService.Close(new NavigationResult(NavigationResultAction.Done)); } #endregion #region Action Methods protected override void OnDataOperationFailed(Exception exception, DataAction action) { base.OnDataOperationFailed(exception, action); // This is only added to display the stacktrace on release. this.MessagePresenter.Show(exception.StackTrace); } #endregion } }
Hi JimmyJust want to update you, we successfully replicate your bug.Could I know which line of code that problem happened, i mean in your second screenshot because the error seems different and the only error that i replicate is the unable to perform data operation one
or
Choose this if you're already a member of Intersoft Community Forum. You can link your OpenID account to your existing Intersoft Social ID.
Choose this if you don't have an Intersoft account yet. Your authenticated OpenID will be automatically linked to your new Intersoft account.
Enter your Wordpress Blogname