Closed vimarx closed 4 years ago
although this info is now not of much value as we do not have an exception in the Reports module. As far as I understand it loads fine but the model is incomplete. Check your web module there is a Application/ModulesList node does it have all your webmodules? what is populated there? screen shot
check the log again is there an exception at all after model is shown?
Also getting this when opening web model runtime
Type: CannotCreateModelNodeByTypeException
Message: Cannot create model node by type 'DevExpress.ExpressApp.ReportsV2.Web.IModelReportDesignerViewItem'. The interface DevExpress.ExpressApp.ReportsV2.Web.IModelReportDesignerViewItem is not a model interface.
Data: 0 entries
Stack trace:
at DevExpress.ExpressApp.Model.Core.ModelNode.AddNodeCore(String id, Type type)
at DevExpress.ExpressApp.Model.Core.ModelNode.AddNode[NodeType](String id)
at DevExpress.ExpressApp.ReportsV2.Web.ReportsAspNetModuleV2.AddReportDesignerViewItem(IModelDetailView modelView)
at DevExpress.ExpressApp.ReportsV2.Web.ReportsAspNetModuleV2.AddReportDesignerModelView(ModelNode node)
at DevExpress.ExpressApp.Model.ModelNodesGeneratorBase.RunUpdaters(ModelNode node, Boolean enableModelCache)
at DevExpress.ExpressApp.Model.Core.ModelNode.RunNodesGenerator(ModelNodesGeneratorBase generator)
at DevExpress.ExpressApp.Model.Core.ModelNode.RunNodesGenerator()
at DevExpress.ExpressApp.Model.Core.ModelNode.EnsureNodes(Boolean alwaysCreate)
at DevExpress.ExpressApp.Model.Core.ModelNode.GetNode(String id, Boolean inThisLayer)
at DevExpress.ExpressApp.Model.Core.ModelValuePersistentPathCalculator.Calculate(ModelNode originalNode, String propertyName, Boolean runDefaultCalculator, Boolean inThisLayer)
at DevExpress.ExpressApp.Model.Core.ModelValuePersistentPathCalculator.Calculate(ModelNode originalNode, String propertyName)
at DevExpress.ExpressApp.Model.Core.ModelNodeInfo.GetDefaultValue(ModelNode node, String propertyName)
at DevExpress.ExpressApp.Model.Core.ModelNode.2 getValueMethod) at DevExpress.ExpressApp.Model.Core.ModelNode.GetDefaultValueCore(ModelValueInfo info, String name) at DevExpress.ExpressApp.Model.Core.ModelNode.GetValue[ValueType](IModelValue
1 modelValue, String name, Int32 aspectIndex)
at DevExpress.ExpressApp.Model.Core.ModelNode.GetValue[T](String name, Boolean inThisLayer, Int32 aspectIndex)
at DevExpress.ExpressApp.Model.Core.ModelNode.GetValue[T](String name)
at DevExpress.ExpressApp.SystemModule.NavigationItemNodeGenerator.GenerateNodesCore(ModelNode node)
at DevExpress.ExpressApp.Model.ModelNodesGeneratorBase.GenerateNodes(ModelNode node)
at DevExpress.ExpressApp.Model.Core.ModelNode.RunNodesGenerator(ModelNodesGeneratorBase generator)
at DevExpress.ExpressApp.Model.Core.ModelNode.RunNodesGenerator()
at DevExpress.ExpressApp.Model.Core.ModelNode.EnsureNodes(Boolean alwaysCreate)
at DevExpress.ExpressApp.Model.Core.ModelNode.CreateMasterNodesCore()
at DevExpress.ExpressApp.Model.Core.ModelNode.CreateMasterNodes()
at DevExpress.ExpressApp.Model.Core.ModelNode.CreateMasterNodesCore()
at DevExpress.ExpressApp.Model.Core.ModelNode.CreateMasterNodes()
at DevExpress.ExpressApp.Model.Core.ModelNode.GetNode(String id, Boolean inThisLayer)
at DevExpress.ExpressApp.Model.Core.ModelNode.GetNode(String id, Boolean inThisLayer)
at DevExpress.ExpressApp.Model.Core.ModelNodePersistentPathHelper.FindValueByPath(ModelNode modelNode, String persistentPath)
at DevExpress.ExpressApp.Model.Core.ModelValuePersistentPathCalculator.Calculate(ModelNode originalNode, String propertyName, Boolean runDefaultCalculator, Boolean inThisLayer)
at DevExpress.ExpressApp.Model.Core.ModelNode.CreateModelValueByPathCalculator(ModelValuePersistentPathCalculator pathCalculator, String name, Int32 aspectIndex)
at DevExpress.ExpressApp.Model.Core.ModelNode.GetModelValueInThisLayer(String name)
at DevExpress.ExpressApp.Model.Core.ModelNode.GetValue(String name, Boolean inThisLayer, Int32 aspectIndex)
at DevExpress.ExpressApp.Model.Core.ModelNode.CheckPersistentValues()
at DevExpress.ExpressApp.Model.Core.ModelNode.IsValid(IModelApplication application)
at DevExpress.ExpressApp.Model.Core.ModelNode.ValidateMasterNodesCore(Boolean validateNotLoaded)
at DevExpress.ExpressApp.Model.Core.ModelNode.CreateMasterNodesCore()
at DevExpress.ExpressApp.Model.Core.ModelNode.CreateMasterNodes()
at DevExpress.ExpressApp.Model.Core.ModelNode.GetNode(String id, Boolean inThisLayer)
at ModelApplication.get_BOModel()
at Xpand.Persistent.Base.RuntimeMembers.RuntimeMemberBuilder.GetMembersEx(IModelApplication model)
at Xpand.Persistent.Base.RuntimeMembers.RuntimeMemberBuilder.CreateRuntimeMembers(IModelApplication model)
at Xpand.ExpressApp.ModelDifference.Win.PropertyEditors.ModelEditorPropertyEditor.CreateModelEditorController(String aspect)
at Xpand.ExpressApp.ModelDifference.Win.Controllers.ModelEditorTemplateViewController.ProcessCurrentObjectActionOnExecute(Object sender, SimpleActionExecuteEventArgs e)
at DevExpress.ExpressApp.Actions.SimpleActionExecuteEventHandler.Invoke(Object sender, SimpleActionExecuteEventArgs e)
at DevExpress.ExpressApp.Actions.ActionBase.ExecuteCore(Delegate handler, ActionBaseEventArgs eventArgs)
InnerException is null
there are 2 possible reason for this exception
the ReportsV2 module is not in the requiredTypesModules A different version of the module is in that collection
according to previous posts on this thread @vimarx after cleaning his system/gac manage to run the app with no exceptions, although now he still see an incomplete module to my guess for another reason as there are no more exceptions.
Make sure u use the latest version on a clean GAC and use the snippet from https://github.com/eXpandFramework/eXpand/issues/674#issuecomment-589022376 to tell how many reportsV2 assemblies are loaded in your domain. Report their locations if more than one.
I only found one versiรณn of the reports DLL, no clue of what os happening
but u do not get the CannotCreateModelNodeByTypeException anymore so it is not about the Reports module anymore.
and u did not respond to my last 2 comments
although this info is now not of much value as we do not have an exception in the Reports module. As far as I understand it loads fine but the model is incomplete. Check your web module there is a Application/ModulesList node does it have all your webmodules? what is populated there? screen shot
.check the log again is there an exception at all after model is shown?
it is strange, now, it runs fine inside VS , but the problems in the deployed app (same PC) but built in a different build server (same Xpand & DX assemblies)
the assemblies loaded are
@emeyke any advance?
@vimarx Realized I am getting this https://github.com/eXpandFramework/eXpand/issues/681 so decided to see how it looks when it is fixed.
but u do not get the CannotCreateModelNodeByTypeException anymore so it is not about the Reports module anymore.
and u did not respond to my last 2 comments
although this info is now not of much value as we do not have an exception in the Reports module. As far as I understand it loads fine but the model is incomplete. Check your web module there is a Application/ModulesList node does it have all your webmodules? what is populated there? screen shot
.check the log again is there an exception at all after model is shown?
it is strange, now, it runs fine inside VS , but the problems in the deployed app (same PC) but built in a different build server (same Xpand & DX assemblies)
all these are in GAC? do a .Select(a=>a.Location) at the end and provide the screenshot? Did u clean your gac manually from any left overs after the GAC patch i posted?
in my case, duplicates are ... 26.02.20 17:27:38.728 no context c:\test\vxerp\ModelMapperAssemblyWin.dll 26.02.20 17:27:38.728 no context c:\test\vxerp\ModelMapperAssemblyWin.dll 26.02.20 17:27:38.728 no context c:\test\vxerp\ModelMapperAssemblyWeb.dll 26.02.20 17:27:38.728 no context c:\test\vxerp\ModelMapperAssemblyWeb.dll
where does this list comes from?
I will also suggest you test your solution in a different clean machine to verify if the problem persists there.
in several differents vm, it is from your snippet https://github.com/eXpandFramework/eXpand/issues/681#issuecomment-591215483
I always get this duplicates
7.02.20 18:50:49.764 no context Begin assemblies dump------ 27.02.20 18:50:49.764 no context C:\test\vxerp\ModelMapperAssemblyWin.dll 27.02.20 18:50:49.764 no context C:\test\vxerp\ModelMapperAssemblyWin.dll 27.02.20 18:50:49.764 no context C:\test\vxerp\ModelMapperAssemblyWeb.dll 27.02.20 18:50:49.764 no context C:\test\vxerp\ModelMapperAssemblyWeb.dll 27.02.20 18:50:49.764 no context End Dump------
although I fail to understand how is possible to have an assembly of the same location into your domain I can attempt a workaround, wait for my patch
can u also provide the stacktrace for each assembly loaded
int i = 0;
AppDomain.CurrentDomain.AssemblyLoad += (sender, args) => {
if (args.LoadedAssembly.GetName().Name.StartsWith("ModelMapperAssembly")){
Tracing.Tracer.LogSeparator($"{Path.GetFileName(args.LoadedAssembly.Location)}{i}");
Tracing.Tracer.LogText(args.LoadedAssembly.Location);
Tracing.Tracer.LogText(Environment.StackTrace);
i++;
}
};
in your program.cs first thing
Here is the log (I only try to open web model once) eXpressAppFramework.zip
I do not get the duplicates but I am still getting the dreaded Type: CannotCreateModelNodeByTypeException Message: Cannot create model node by type 'DevExpress.ExpressApp.ReportsV2.Web.IModelReportDesignerViewItem'. The interface DevExpress.ExpressApp.ReportsV2.Web.IModelReportDesignerViewItem is not a model interface.
in the last log @vimarx provided there is an extra /
in the ModelMapperAssembly path and this should result in double loading, I will provide a pacth for it soon.
@emeyke can you please search your disks for ModelMapperAssembly*.dll
and report thier paths
The pre-release 2.201.0.1 in the DevExpress.XAF lab
branch includes commits that relate to this task:
Released packages:
Please update the related Nuget packages and test if issues is addressed. These are nightly nuget packages available only from our NugetServer.
If you do not use these packages directly but through a module of the main eXpandFramework project, please wait for the bot to notify you again when integration is finished or update the related packages manually.
Thanks a lot for your contribution.
eXpand.lab release 19.2.601.14 includes commit that relate to this task:
Please test if it addresses the problem. If you use nuget add our LAB NugetServer as a nuget package source in VS.
Thanks a lot for your contribution.
nothing changes in 19.2.602.1 (still double loads and the CannotCreateModelNodeByTypeException issue
attached log for your verification (it contains assemblies loading stacks traces as before) eXpressAppFramework.zip
i see the double \ is still there i have to reexamine the patch
ModelMapperAssemblyWin, Version=2.201.9.2, Culture=neutral, PublicKeyToken=null, Location=c:\test\vxerp\\ModelMapperAssemblyWin.dll
ModelMapperAssemblyWin, Version=2.201.9.2, Culture=neutral, PublicKeyToken=null, Location=c:\test\vxerp\ModelMapperAssemblyWin.dll
And I am now getting this when trying to open any model
at Xpand.Persistent.Base.General.ModelNodeExtensions.1.MoveNext() at System.Linq.Enumerable.First[TSource](IEnumerable
1 source)
at Xpand.ExpressApp.Win.PropertyEditors.RichEdit.RichEditWinPropertyEditor..ctor(Type objectType, IModelMemberViewItem model) in D:\a\1\s\Xpand\Xpand.ExpressApp\Xpand.ExpressApp.Win\PropertyEditors\RichEdit\RichEditWinPropertyEditor.cs:line 40
InnerException is null
For me only happens in User models
InnerException:
Type: InvalidCastException
Message: No se puede convertir un objeto de tipo 'DevExpress.ExpressApp.Win.Editors.LargeStringEdit' al tipo 'Xpand.ExpressApp.Win.PropertyEditors.RichEdit.RichEditContainerBase'.
Data: 0 entries
Stack trace:
en Xpand.ExpressApp.ModelDifference.Win.Controllers.Xpand.ExpressApp.ModelDifference.Win.Controllers.XmlContentValidationController.PropertyEditorOnControlCreated(Object sender, EventArgs eventArgs) en System.EventHandler`1.Invoke(Object sender, TEventArgs e) en DevExpress.ExpressApp.Editors.ViewItem.OnControlCreated() en DevExpress.ExpressApp.Win.Editors.DXPropertyEditor.OnControlCreated() en DevExpress.ExpressApp.Win.Layout.WinLayoutManager.controlItem_QueryControl(Object sender, QueryControlEventArgs e) en DevExpress.ExpressApp.Win.Layout.XafLayoutControlItem.RaiseQueryControl() en DevExpress.ExpressApp.Win.Layout.XafLayoutControlItem.EnsureControl() en DevExpress.ExpressApp.Win.Layout.XafLayoutControlItem.RaiseShowHide(Boolean visible) en DevExpress.XtraLayout.BaseLayoutItem.SetVisible(Boolean lVisible) en DevExpress.XtraLayout.LayoutGroup.UpdateChild(BaseLayoutItem item, Boolean visible) en DevExpress.XtraLayout.LayoutGroup.UpdateChildren(Boolean visible) en DevExpress.XtraLayout.LayoutGroup.UpdateChild(BaseLayoutItem item, Boolean visible) en DevExpress.XtraLayout.LayoutGroup.UpdateChildren(Boolean visible) en DevExpress.XtraLayout.LayoutGroup.UpdateChild(BaseLayoutItem item, Boolean visible) en DevExpress.XtraLayout.LayoutGroup.UpdateChildren(Boolean visible) en DevExpress.XtraLayout.LayoutControlImplementor.UpdateRoot() en DevExpress.XtraLayout.LayoutControlImplementor.InvalidateRootOffsetControlsAndScrolls() en DevExpress.XtraLayout.LayoutControlImplementor.Invalidate() en DevExpress.XtraLayout.LayoutGroup.Invalidate() en DevExpress.XtraLayout.LayoutItemContainer.EndUpdate() en DevExpress.XtraLayout.LayoutItemContainer.EndChangeUpdate() en DevExpress.XtraLayout.LayoutControlImplementor.ProcessLookAndFeelStyleChanged() en DevExpress.XtraLayout.LayoutControlImplementor.EndInitCore() en DevExpress.XtraLayout.LayoutControlImplementor.set_UpdatedCount(Int32 value) en DevExpress.ExpressApp.Win.Layout.WinLayoutManager.LayoutControls(IModelNode layoutNode, ViewItemsCollection viewItems) en DevExpress.ExpressApp.View.CreateControls() en DevExpress.ExpressApp.Win.Templates.ViewSiteManager.EnsureViewControl() en DevExpress.ExpressApp.Win.Templates.ViewSiteManager.FillViewSite() en DevExpress.ExpressApp.Win.Templates.ViewSiteManager.OnViewChanged() en DevExpress.ExpressApp.Win.Templates.XtraFormTemplateBase.SetView(View view) en DevExpress.ExpressApp.Frame.SetTemplateView(View view) en DevExpress.ExpressApp.Frame.SetView(View view, Boolean updateControllers, Frame sourceFrame, Boolean disposeOldView) InnerException is null
my guess is that the latest exception thrown for @vimarx is about not using the default RichEditWinPropertyEditor for the XmlContent property, so I modified the XmlContentValidationController to avoid it in the next minor.
@emeyke although you seem to use the editor but in your case the model is not extended and does not have the related node, so it is not clear what might be wrong, maybe a side effect.
The pre-release 2.201.0.2 in the DevExpress.XAF lab
branch includes commits that relate to this task:
Released packages:
Please update the related Nuget packages and test if issues is addressed. These are nightly nuget packages available only from our NugetServer.
If you do not use these packages directly but through a module of the main eXpandFramework project, please wait for the bot to notify you again when integration is finished or update the related packages manually.
Thanks a lot for your contribution.
eXpand.lab release 19.2.602.2 includes commit that relate to this task:
Please test if it addresses the problem. If you use nuget add our LAB NugetServer as a nuget package source in VS.
Thanks a lot for your contribution.
now there is no double loading, but the interface issue stills there. In the logs are also logged first chance exception info eXpressAppFramework.zip
i cannot say why without reproducing it, you can try strip your solution to a point that you can share or you can consider another sponsoring tier with private support and share in private.
To strip your solution you can remove all your BO and controllers and you leave XPand + DX module registration. Fair chance you can repro with it and u can share that solution. Since u said that you were able to repro it in a clean VM I should be able to repro it as well.
Other options u have is to understand the loading
for example after the log is written for the exception you can list all types
var types = AppDomain.CurrentDomain.GetAssemblies().SelectMany(assembly => {
try{
return assembly.GetTypes().Where(type => type.Name == "IModelReportDesignerViewItem");
}
catch (Exception e){
return Enumerable.Empty<Type>();
}
}).ToArray()
if the types
array contain more than one entries examine the assemblies, expect
type[0].Assembly!=type[1].Assembly
see the assembly locations they shouldn't and if u have results or u need help feel free to post back. At the moment I consider this thing Enviromental at project specific rather than framework bug.
I found a workaround! @emeyke I had to implement a fake class that implements the missing interface from DevExpress.ExpressApp.ReportsV2.Web.v19.2) in my WIN app and added it to AdditionalExportedTypes and it works! @apobekiaris
great to hear!
does your model still looks like
or was that treated together with the duplicate assemblies?
that was a sock i though both images was one some kind of nested model black magic but apparently they are not. This node is looks fine.
great to hear!
does your model still looks like
or was that treated together with the duplicate assemblies?
the model Picture is the same and I have not changed anything regarding duplicate assemblies (only added logging code as you requested (with no luck)
Issue is deprioritized
as no Assignee found
and scheduled for auto-close
if no activity in the next 60 days
. Thanks a lot for your contribution.
eXpand.lab release 19.2.602.4 includes commit that relate to this task:
Please test if it addresses the problem. If you use nuget add our LAB NugetServer as a nuget package source in VS.
Thanks a lot for your contribution.
Closing issue for age. Feel free to reopen it at any time.
.Thank you for your contribution.
When trying to edit web model in win app , now in 19.2.601.1, it fails to open with this exception. Why the web app is working anyway and this is failing to load in model editor?
thanks
3.02.20 16:51:48.231 no context SetupModules 13.02.20 16:51:48.957 no context Customize TypesInfo 13.02.20 16:51:49.160 no context <- ApplicationModulesManager.Load 13.02.20 16:51:49.160 no context TypesInfo: 1066 types, 11739 members 13.02.20 16:51:51.197 no context ================================================================================ The error occurred:
at Xpand.Utils.Helpers.Retry.Do[T](Func
1 action, TimeSpan retryInterval, Int32 retryCount) at Xpand.Utils.Helpers.Retry.Do(Action action, TimeSpan retryInterval, Int32 retryCount) at Xpand.Persistent.Base.ModelDifference.ModelLoader.GetMasterModel(Boolean tryToUseCurrentTypesInfo, Action
1 action) at Xpand.ExpressApp.ModelDifference.Win.PropertyEditors.ModelEditorPropertyEditor.GetMasterModelCore(Boolean recreate) at Xpand.ExpressApp.ModelDifference.Win.PropertyEditors.ModelEditorPropertyEditor.GetMasterModel(Boolean recreate) at Xpand.ExpressApp.ModelDifference.Win.PropertyEditors.ModelEditorPropertyEditor.OnCurrentObjectChanged() at DevExpress.ExpressApp.Editors.ViewItem.set_CurrentObject(Object value) at DevExpress.ExpressApp.ObjectView.InitializeItem(ViewItem item) at DevExpress.ExpressApp.CompositeView.AddItem(ViewItem item) at DevExpress.ExpressApp.CompositeView.LoadModelCore() at DevExpress.ExpressApp.View.LoadModel() at DevExpress.ExpressApp.View.SetModel(IModelView model) at Xpand.ExpressApp.ViewFactory.CreateDetailView(XafApplication xafApplication, String viewId, IObjectSpace objectSpace, Object obj, Boolean isRoot, Boolean enableDelayedObjectLoading) at Xpand.ExpressApp.SystemModule.XpandSystemModule.ApplicationOnDetailViewCreating(Object sender, DetailViewCreatingEventArgs args) at System.EventHandler`1.Invoke(Object sender, TEventArgs e) at DevExpress.ExpressApp.XafApplication.OnDetailViewCreating(DetailViewCreatingEventArgs args) at DevExpress.ExpressApp.XafApplication.CreateDetailView(IObjectSpace objectSpace, String detailViewID, Boolean isRoot, Object obj, Boolean isDelayedObjectLoading, IEnumerable objectsToPrefetch) at DevExpress.ExpressApp.XafApplication.CreateDetailView(IObjectSpace objectSpace, String detailViewID, Boolean isRoot, Object obj) at DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController.ShowObjectCore(Object obj, ShowViewParameters showViewParameters, XafApplication application, View sourceView, IObjectSpace objectSpace, IEnumerable objectsToPrefetch) at DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController.ProcessCurrentObject(SimpleActionExecuteEventArgs e) at DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController.processCurrentObjectAction_OnExecute(Object sender, SimpleActionExecuteEventArgs e) at DevExpress.ExpressApp.Actions.ActionBase.ExecuteCore(Delegate handler, ActionBaseEventArgs eventArgs)at DevExpress.ExpressApp.Model.Core.ModelNode.AddNodeCore(String id, Type type) at DevExpress.ExpressApp.Model.Core.ModelNode.AddNode[NodeType](String id) at DevExpress.ExpressApp.ReportsV2.Web.ReportsAspNetModuleV2.AddReportDesignerViewItem(IModelDetailView modelView) at DevExpress.ExpressApp.ReportsV2.Web.ReportsAspNetModuleV2.AddReportDesignerModelView(ModelNode node) at DevExpress.ExpressApp.Model.ModelNodesGeneratorBase.RunUpdaters(ModelNode node, Boolean enableModelCache) at DevExpress.ExpressApp.Model.Core.ModelNode.RunNodesGenerator(ModelNodesGeneratorBase generator) at DevExpress.ExpressApp.Model.Core.ModelNode.RunNodesGenerator() at DevExpress.ExpressApp.Model.Core.ModelNode.EnsureNodes(Boolean alwaysCreate) at DevExpress.ExpressApp.Model.Core.ModelNode.CreateMasterNodesCore() at DevExpress.ExpressApp.Model.Core.ModelNode.CreateMasterNodes() at DevExpress.ExpressApp.Model.Core.ModelNode.GetNode(String id, Boolean inThisLayer) at DevExpress.ExpressApp.Model.Core.ModelNode.GetNode(String id, Boolean inThisLayer) at DevExpress.ExpressApp.Model.Core.ModelValuePersistentPathCalculator.Calculate(ModelNode originalNode, String propertyName, Boolean runDefaultCalculator, Boolean inThisLayer) at DevExpress.ExpressApp.Model.Core.ModelNode.CreateModelValueByPathCalculator(ModelValuePersistentPathCalculator pathCalculator, String name, Int32 aspectIndex) at DevExpress.ExpressApp.Model.Core.ModelNode.GetModelValueInThisLayer(String name) at DevExpress.ExpressApp.Model.Core.ModelNode.GetValue(String name, Boolean inThisLayer, Int32 aspectIndex) at DevExpress.ExpressApp.Model.Core.ModelNode.CheckPersistentValues() at DevExpress.ExpressApp.Model.Core.ModelNode.IsValid(IModelApplication application) at DevExpress.ExpressApp.Model.Core.ModelNode.ValidateMasterNodesCore(Boolean validateNotLoaded) at DevExpress.ExpressApp.Model.Core.ModelNode.CreateMasterNodesCore() at DevExpress.ExpressApp.Model.Core.ModelNode.CreateMasterNodes() at DevExpress.ExpressApp.Model.Core.ModelNode.GetSortedNodes(Boolean inThisLayer) at DevExpress.ExpressApp.Model.Core.ModelNode.GetSortedNodes(Boolean inThisLayer) at DevExpress.ExpressApp.Model.Core.ModelNodeList
1.GetEnumerator() at DevExpress.ExpressApp.ApplicationModelManager.AddCustomMembersFromModelToTypeInfo(IModelApplication model) at DevExpress.ExpressApp.ApplicationModelManager.AddCustomMembersToTypeInfo(IModelApplication model) at DevExpress.ExpressApp.ApplicationModelManager.Setup(ITypesInfo typesInfo, IEnumerable
1 boModelTypes, IEnumerable1 modules, IEnumerable
1 controllers, IEnumerable1 applicationLocalizerTypes, IEnumerable
1 applicationAspects, ModelStoreBase applicationModelDifferenceStore, String modelAssemblyFile) at DevExpress.ExpressApp.Model.Core.ModelApplicationHelper.CreateModel(ITypesInfo typesInfo, IEnumerable1 boModelTypes, IEnumerable
1 modules, ControllersManager controllersManager, IEnumerable1 localizerTypes, IEnumerable
1 aspects, String modelAssemblyFile, ModelStoreBase modelDifferenceStore) at Xpand.Persistent.Base.ModelDifference.ModelBuilder.BuildModel(XafApplication application, String configFileName, XpandApplicationModulesManager applicationModulesManager) at Xpand.Persistent.Base.ModelDifference.ModelLoader.GetMasterModelCore(Boolean rebuild) at Xpand.Persistent.Base.ModelDifference.ModelLoader.GetMasterModel(XafApplication xafApplication, Action1 action) at Xpand.Persistent.Base.ModelDifference.ModelLoader.<>c__DisplayClass12_0.<GetMasterModel>b__0() at Xpand.Utils.Helpers.Retry.<>c__DisplayClass0_0.<Do>b__0() at Xpand.Utils.Helpers.Retry.Do[T](Func
1 action, TimeSpan retryInterval, Int32 retryCount) InnerException is null