eXpandFramework / eXpand

DevExpress XAF (eXpressApp) extension framework. 𝗹𝗶𝗻𝗸𝗲𝗱𝗶𝗻.𝗲𝘅𝗽𝗮𝗻𝗱𝗳𝗿𝗮𝗺𝗲𝘄𝗼𝗿𝗸.𝗰𝗼𝗺, 𝘆𝗼𝘂𝘁𝘂𝗯𝗲.𝗲𝘅𝗽𝗮𝗻𝗱𝗳𝗿𝗮𝗺𝗲𝘄𝗼𝗿𝗸.𝗰𝗼𝗺 and 𝘁𝘄𝗶𝘁𝘁𝗲𝗿 @𝗲𝘅𝗽𝗮𝗻𝗱𝗳𝗿𝗮𝗺𝗲𝘄𝗼𝗿𝗸 and or simply 𝗦𝘁𝗮𝗿/𝘄𝗮𝘁𝗰𝗵 this repository and get notified from 𝗚𝗶𝘁𝗛𝘂𝗯
http://expand.expandframework.com
Microsoft Public License
220 stars 114 forks source link

ModelDifference editing does not show in designer after reopening 19.2.601.10 #681

Closed emeyke closed 4 years ago

emeyke commented 4 years ago

repro https://www.dropbox.com/s/2kfkfetcagyhsay/Xpand192.zip?dl=0 𝗗𝗲𝘀𝗰𝗿𝗶𝗯𝗲 𝘁𝗵𝗲 𝗯𝘂𝗴 Editing modeldifference, saving, closing, reopening - changes are not visible 𝗧𝗼 𝗥𝗲𝗽𝗿𝗼𝗱𝘂𝗰𝗲

  1. run application
  2. open win model difference
  3. clone view
  4. save and close
  5. reopen 𝗘𝘅𝗽𝗲𝗰𝘁𝗲𝗱 𝗯𝗲𝗵𝗮𝘃𝗶𝗼𝗿 yuo should be able to see cloned vewin the tree, but the difference only visible in XML 𝗦𝗰𝗿𝗲𝗲𝗻𝘀𝗵𝗼𝘁𝘀 image
emeyke commented 4 years ago

Curiously though the difference is visible (albeit in a separate "Views" node) on application startup if the record was reopened automatically (open tabs no app shut down). But when it is closed and reopened, it is not visible anymore. image

emeyke commented 4 years ago

The model itself is applied properly to the application though when it is restarted. E.g. I have added a navigation item: image

expand commented 4 years ago

We will try to answer all questions that do not require research within 24hr. To prioritize cases that require research we use the following labels in order. For all other issues the posting time is respected.

  1. ❤ Bronze Sponsor
    1. ❤ Sponsor
    2. ❤ Backer
    3. Installation
    4. ShowStopper
    5. Nuget
    6. Contribution
    7. BreakingChange
    8. ReproSample
    9. Deployment
    10. must-have

This case is prioritized.

apobekiaris commented 4 years ago

unfortunately i do not see how to repro it

2020-02-25-06-10-58

emeyke commented 4 years ago

Ok here is the same process on my side. Where should I be looking? https://www.loom.com/share/5010fad36fc147c785f4629879f2236a

Th error when trying to clone again:

Cannot create model node by type 'ModelListView'. The type ModelViews doesn't support children with type ModelListView.

at DevExpress.ExpressApp.Model.Core.ModelNode.AddNodeCore(String id, Type type) at DevExpress.ExpressApp.Model.Core.ModelNode.AddNode(String id, Type type) at DevExpress.ExpressApp.Model.Core.ModelNode.AddClonedNode(ModelNode source, String id) at DevExpress.ExpressApp.Model.ModelEditorHelper.AddCloneNode(ModelNode owner, ModelNode source, String id) at DevExpress.ExpressApp.Win.Core.ModelEditor.ExtendModelInterfaceAdapter.CloneNodeCore(ModelTreeListNode currentNode, ModelTreeListNode parentNode, Boolean cloneModelNode) at DevExpress.ExpressApp.Win.Core.ModelEditor.ExtendModelInterfaceAdapter.CloneNode(ModelTreeListNode currentNode, ModelTreeListNode sourceNode, Boolean cloneModelNode) at DevExpress.ExpressApp.Win.Core.ModelEditor.ModelEditorViewController.<>c__DisplayClass124_0.b__0() at DevExpress.ExpressApp.Win.Core.ModelEditor.ModelEditorControllerBase.UpdatedTreeListCall(ThreadStart method)

emeyke commented 4 years ago

here is the log https://www.dropbox.com/s/e885y9omgvctwzo/eXpressAppFramework.log?dl=0

apobekiaris commented 4 years ago

the layout of the MDO_DetailView in the screencast does not match the one of the sample. The sample uses the default layout and u have modified to display both the model and Xml content side by side. Try defaulting the layout does the problem occur?

emeyke commented 4 years ago

Yes. just tested from fresh start and reset.

apobekiaris commented 4 years ago

u did not answered however, can u repro it on the fresh layout

apobekiaris commented 4 years ago

i see XPand in your GAC and the

Xpand192.Win.exe Error: 0 : 25.02.20 09:33:18.267   ================================================================================
The error occurred:

    Type:       CannotCreateModelNodeByTypeException
    Message:    Cannot create model node by type 'ModelListView'. The type ModelViews doesn't support children with type ModelListView.
    Data:       0 entries
    Stack trace:

   at DevExpress.ExpressApp.Model.Core.ModelNode.AddNodeCore(String id, Type type)
   at DevExpress.ExpressApp.Model.Core.ModelNode.AddNode(String id, Type type)
   at DevExpress.ExpressApp.Model.Core.ModelNode.AddNode(Type type)
   at DevExpress.ExpressApp.Model.ModelEditorHelper.GenerateContent(ModelNode modelNode)
   at DevExpress.ExpressApp.Win.Core.ModelEditor.ModelEditorViewController.generateContent_Execute(Object sender, SimpleActionExecuteEventArgs e)
   at DevExpress.ExpressApp.Actions.SimpleAction.RaiseExecute(ActionBaseEventArgs eventArgs)
   at DevExpress.ExpressApp.Actions.ActionBase.ExecuteCore(Delegate handler, ActionBaseEventArgs eventArgs)
    InnerException is null

which prettyr much says the same thing as the problem @vimarx faces, that is a different version of some assembly is loaded.

So this looks enviroment as I cannot repro it in my side, therefore we have to focus on your side.

  1. Clean your GAC manually, delete all Xpand folder in it C:\Windows\Microsoft.NET\assembly\GAC_MSIL\
  2. try again and let me know and if feasible to test on a clean machine there might be some leftovers in your disk or regitry or whatever
emeyke commented 4 years ago

cleaning GAC didnt help.

apobekiaris commented 4 years ago

let's verify that u do not have double loads in your domain, post back the log entries of the next controller

    public class Controller:ObjectViewController<DetailView,ModelDifferenceObject>{
        protected override void OnViewControlsCreated(){
            base.OnViewControlsCreated();
            var assemblies = AppDomain.CurrentDomain.GetAssemblies().GroupBy(assembly => assembly.GetName().Name).Where(grouping => grouping.Count()>1)
                .SelectMany(grouping => grouping.Select(assembly => assembly.Location))
                .ToArray();
            foreach (var assembly in assemblies){
                Tracing.Tracer.LogText(assembly);
            }
        }
    }
apobekiaris commented 4 years ago

note that I also tested with xpand in the gac but the model editor node still remains bold

emeyke commented 4 years ago

Seems fine

0Harmony, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ActionsAssembly, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null Anonymously Hosted DynamicMethods Assembly, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null ConcurrentCollections, Version=1.1.0.0, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 DelegateTypeFactory, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null DevExpress.BonusSkins.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.Charts.v19.2.Core, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.Data.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.CloneObject.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.ConditionalAppearance.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.Objects.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.Office.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.Office.Win.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.ReportsV2.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.ReportsV2.Win.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.ScriptRecorder.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.ScriptRecorder.Win.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.Security.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.Security.Xpo.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.TreeListEditors.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.TreeListEditors.Win.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.Validation.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.Validation.Win.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.ViewVariantsModule.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.Web.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.Win.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.ExpressApp.Xpo.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.Images.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.Office.v19.2.Core, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.Persistent.Base.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.Persistent.BaseImpl.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.Printing.v19.2.Core, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.RichEdit.v19.2.Core, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.Spreadsheet.v19.2.Core, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.Utils.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.Utils.v19.2.UI, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.Web.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.Xpo.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraBars.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraCharts.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraEditors.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraGrid.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraLayout.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraNavBar.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraPivotGrid.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraPrinting.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraReports.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraReports.v19.2.Extensions, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraRichEdit.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraScheduler.v19.2.Core, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraSpreadsheet.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraTreeList.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a DevExpress.XtraVerticalGrid.v19.2, Version=19.2.6.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a Enums.NET, Version=3.0.0.0, Culture=neutral, PublicKeyToken=7ea1c1650d506225 Fasterflect, Version=2.0.7.0, Culture=neutral, PublicKeyToken=38d18473284c1ca7 HarmonySharedState, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null Microsoft.GeneratedCode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null ModelMapperAssemblyWin, Version=2.201.8.2, Culture=neutral, PublicKeyToken=null Mono.Cecil, Version=0.11.2.0, Culture=neutral, PublicKeyToken=50cebf1cceb9d05e mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.ComponentModel.DataAnnotations, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a System.Interactive, Version=4.0.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263 System.Reactive, Version=4.2.0.0, Culture=neutral, PublicKeyToken=94bc3704cddfc263 System.Reflection.Emit, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a System.Reflection.Emit.ILGeneration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a System.Reflection.Emit.Lightweight, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a System.Runtime.Caching, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a System.Runtime.InteropServices.RuntimeInformation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51 System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 UIAutomationClient, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 wlz0tsph, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null Xpand.ExpressApp, Version=19.2.601.13, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Xpand.ExpressApp.ModelDifference, Version=19.2.601.13, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Xpand.ExpressApp.ModelDifference.Win, Version=19.2.601.13, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Xpand.ExpressApp.Security, Version=19.2.601.13, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Xpand.ExpressApp.Security.Win, Version=19.2.601.13, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Xpand.ExpressApp.ViewVariants, Version=19.2.601.13, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Xpand.ExpressApp.Win, Version=19.2.601.13, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Xpand.Extensions, Version=2.201.8.1, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Xpand.Extensions.Reactive, Version=2.201.8.2, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Xpand.Extensions.XAF, Version=2.201.8.2, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Xpand.Persistent.Base, Version=19.2.601.13, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Xpand.Persistent.BaseImpl, Version=19.2.601.13, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Xpand.Utils, Version=19.2.601.13, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Xpand.XAF.Modules.CloneModelView, Version=2.201.8.2, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Xpand.XAF.Modules.ModelMapper, Version=2.201.8.2, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Xpand.XAF.Modules.ModelViewInheritance, Version=2.201.8.2, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Xpand.XAF.Modules.Reactive, Version=2.201.8.2, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Xpand.Xpo, Version=19.2.601.13, Culture=neutral, PublicKeyToken=c52ffed5d5ff0958 Xpand192.Module, Version=1.0.7361.17533, Culture=neutral, PublicKeyToken=null Xpand192.Module.Win, Version=1.0.7361.17534, Culture=neutral, PublicKeyToken=null Xpand192.Win, Version=1.0.7361.17535, Culture=neutral, PublicKeyToken=null

apobekiaris commented 4 years ago

my snippet does not produce such list, its a groupby that transforms to Locations not sure where u got this list

emeyke commented 4 years ago

there is something wrong in the linq expression, dont see what, I am getting empty var assemblies.

apobekiaris commented 4 years ago

there is nothing wrong with the query, empty var assemblies means no doubles. How did u checked? can u put a breakpoing and examine the variable in the debugger instead of looking in the log?

apobekiaris commented 4 years ago

what about the results on a new Virtual machine here is what I did and fail to repro the problem

  1. Crate a new VM using Hyper V manager and install nothing
  2. Copy all files from your bin and from DX bin to a new folder
  3. Change the connectionstring to Access

all worked as expected

emeyke commented 4 years ago

Hi, yes, indeed, no doubles. will check on vm but obviously i will get same results as you did. so need to understand what is happening on my machine..

emeyke commented 4 years ago

Confirming this works on another machine. Closing for now.

expand commented 4 years ago

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.