When updating the reference of our project from 5 to 6 of Xtensive.Orm.Security, we have an exception during the upgrade of the domain (see below). What would be the step to properly upgrade from version '5.0.0.0' to '6.0.0.0' Xtensive.Orm.Security ? Is an UpgradeHandler missing in the assembly Xtensive.Orm.Security ? Or should the Xtensive.Orm.Security assembly be not included in the model when building the Domain in the first place ? (if so why relations are stored in the domain (using 5.0.0 in table Xtensive.Orm.Security.IPrincipal-Roles-Xtensive.Orm.Security.IRole) Many thanks, Xtensive.Orm.DomainBuilderException: Upgrade of assembly 'Xtensive.Orm.Security' from version '5.0.0.0' to '6.0.0.0' is not supported. at Xtensive.Orm.Upgrade.SystemUpgradeHandler.CheckAssemblies() at Xtensive.Orm.Upgrade.SystemUpgradeHandler.OnBeforeStage() at Xtensive.Orm.Upgrade.UpgradingDomainBuilder.OnBeforeStage() at Xtensive.Orm.Upgrade.UpgradingDomainBuilder.PerformUpgrade(Domain domain, UpgradeStage stage) at Xtensive.Orm.Upgrade.UpgradingDomainBuilder.BuildMultistageDomain() at Xtensive.Orm.Upgrade.UpgradingDomainBuilder.Run() at Xtensive.Orm.Upgrade.UpgradingDomainBuilder.Build(DomainConfiguration configuration) Note, I worked around the issue by setting the assembly version manually to 6.0.0.0 instead of 5.0.0.0: UPDATE [dbo].[Metadata.Assembly] SET [Version] = '6.0.0.0' WHERE [Name] = 'Xtensive.Orm.Security' |
Hello rle, There is no UpgradeHandler in Xtensive.Orm.Security (as well as in other extensions with entities). Since the only thing is changed is version the easiest way to upgrade it is to add an UpgradeHandler allowing such upgrade for this assembly. UpgradeHandler allows to override needed properties and methods. For example
Don't exclude Xtensive.Orm.Security form types. |