eXpandFramework / eXpand

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

modelassembly.dll always recreated. #900

Closed Johnka2 closed 8 months ago

Johnka2 commented 2 years ago

Steps.

  1. create new xaf solution
  2. Add eXpandMasterDetailWin to module project and register it
  3. Run application multiple times even in release mode 4.modelassembly.dll is always recreated.

Expected behavior Modelassembly.dll should be generated ounce.

Startup noticeably slow for large models.

Kagandaj commented 1 year ago

Issue could be caused by Xpand.ExpressApp.MasterDetail.MasterDetailModule and Xpand.XAF.Modules.MasterDetail.MasterDetailModule
having the same type name. Renaming one stopped the problem for me in production

apobekiaris commented 1 year ago

Sample applicati9on please

Kagandaj commented 1 year ago

going thru @Johnka2 steps reproduces the problem for .net6 i renamed Xpand.ExpressApp.MasterDetail.MasterDetailModule to Xpand.ExpressApp.MasterDetail.GridMasterDetailModule to remove the naming conflict in the moduleinfo file at runtime and compiled the module. moduleassembly.dll isn't recreated every time in release mode anymore.

another workaround would be to remove the Xpand.ExpressApp.MasterDetail.MasterDetailModule from the application

apobekiaris commented 1 year ago

i renamed Xpand.ExpressApp.MasterDetail.MasterDetailModule to Xpand.ExpressApp.MasterDetail.GridMasterDetailModule

I cannot follow where is the conflict?

Kagandaj commented 1 year ago

look at these two modules Xpand.ExpressApp.MasterDetail.MasterDetailModule Xpand.XAF.Modules.MasterDetail.MasterDetailModule

they have the same type name "MasterDetailModule" at runtime when a xaf application starts it examines ModulesVersionInfo file. since the two modules are versioned differently xaf thinks that the version has changed for one of these modules. remember the ModulesVersionInfo does not use full type names. as a result modelassembly.dll will always be regenarated. A solution would be to rename one of these modules

apobekiaris commented 1 year ago

aha I agree we may have issues there I will rename, thnks!

apobekiaris commented 1 year ago

The pre-release 4.222.14.0 in the Reactive.XAF lab branch includes commits that relate to this task:

To minimize version conflicts we recommend that you use the Xpand.XAF.Core.All, Xpand.XAF.Win.All, Xpand.XAF.Web.All packages. Doing so, all packages will be at your disposal and .NET will add a dependecy only to those packages that you actually use and not to all (see the Modules installation-registrations youtube video).

Released packages: Xpand.Extensions v.4.231.0
Xpand.Extensions.Blazor v.4.231.0
Xpand.Extensions.Mono.Cecil v.4.231.0
Xpand.Extensions.Office.Cloud v.4.231.0
Xpand.Extensions.Office.Cloud.Google.Blazor v.4.231.0
Xpand.Extensions.Reactive v.4.231.0
Xpand.Extensions.XAF v.4.231.0
Xpand.Extensions.XAF.Xpo v.4.231.0
Xpand.TestsLib v.4.231.0
Xpand.TestsLib.Blazor v.4.231.0
Xpand.TestsLib.Common v.4.231.0
Xpand.TestsLib.EasyTest v.4.231.0
Xpand.VersionConverter v.4.231.0
Xpand.XAF.Core.All v.4.231.0
Xpand.XAF.Modules.AutoCommit v.4.231.0
Xpand.XAF.Modules.Blazor v.4.231.0
Xpand.XAF.Modules.BulkObjectUpdate v.4.231.0
Xpand.XAF.Modules.CloneMemberValue v.4.231.0
Xpand.XAF.Modules.CloneModelView v.4.231.0
Xpand.XAF.Modules.Email v.4.231.0
Xpand.XAF.Modules.GridListEditor v.4.231.0
Xpand.XAF.Modules.HideToolBar v.4.231.0
Xpand.XAF.Modules.JobScheduler.Hangfire v.4.231.0
Xpand.XAF.Modules.JobScheduler.Notification v.4.231.0
Xpand.XAF.Modules.MasterDetail v.4.231.0
Xpand.XAF.Modules.ModelMapper v.4.231.0
Xpand.XAF.Modules.ModelViewInheritance v.4.231.0
Xpand.XAF.Modules.Office.Cloud.Google v.4.231.0
Xpand.XAF.Modules.Office.Cloud.Google.Calendar v.4.231.0
Xpand.XAF.Modules.Office.Cloud.Google.Tasks v.4.231.0
Xpand.XAF.Modules.Office.DocumentStyleManager v.4.231.0
Xpand.XAF.Modules.OneView v.4.231.0
Xpand.XAF.Modules.PositionInListView v.4.231.0
Xpand.XAF.Modules.ProgressBarViewItem v.4.231.0
Xpand.XAF.Modules.RazorView v.4.231.0
Xpand.XAF.Modules.Reactive v.4.231.0
Xpand.XAF.Modules.Reactive.Logger v.4.231.0
Xpand.XAF.Modules.Reactive.Logger.Client.Win v.4.231.0
Xpand.XAF.Modules.Reactive.Logger.Hub v.4.231.0
Xpand.XAF.Modules.Reactive.Rest v.4.231.0
Xpand.XAF.Modules.RefreshView v.4.231.0
Xpand.XAF.Modules.SequenceGenerator v.4.231.0
Xpand.XAF.Modules.Speech v.4.231.0
Xpand.XAF.Modules.SpellChecker v.4.231.0
Xpand.XAF.Modules.StoreToDisk v.4.231.0
Xpand.XAF.Modules.SuppressConfirmation v.4.231.0
Xpand.XAF.Modules.TenantManager v.4.231.0
Xpand.XAF.Modules.ViewEditMode v.4.231.0
Xpand.XAF.Modules.ViewItemValue v.4.231.0
Xpand.XAF.Modules.ViewWizard v.4.231.0
Xpand.XAF.Modules.Windows v.4.231.0
Xpand.XAF.Web.All v.4.231.0
Xpand.XAF.Win.All v.4.231.0

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 commented 8 months ago

Closing issue for age. Feel free to reopen it at any time.

.Thank you for your contribution.