我使用upgrade100_110.exe工具来升级我的Kentico 10 CMS解决方案。解决方案和数据库模式已成功升级,但在访问web浏览器中的站点管理门户时,预期的数据升级没有发生。澄清一下,CMSSettingsKey KeyValue for CMSDBVersion是11.0,但是CMSDataVersion的CMSSettingsKey KeyValue仍然是10.0。
Kentico事件日志中唯一的升级事件如下: Message:'system‘是一个重复的属性名。第1行,位置5202。
System.Xml.XmlTextReaderImpl.AttributeDuplCheck() System.Xml.XmlTextReaderImpl.ParseAttributes() at System.Xml.XmlTextReaderImpl.ParseElement() at System.Xml.XmlTextReaderImpl.ParseElementContent() at System.Xml.XmlTextReaderImpl.Read() at System.Xml.XmlLoader.LoadNode(布尔skipOverWhitespace) at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc) at System.Xml.XmlLoader.Load(XmlDocument doc )CMS.FormEngine.FormHelper.MergeFormDefinitions(String XmlReader阅读器,System.Xml.XmlDocument.Load(XmlReader阅读器),System.Xml.XmlDocument.LoadXml(String xml),String alternative,System.Xml.XmlDocument.LoadXml includeAllAltFields,UpgradeProcedure.UpgradeApplication(Func`1‘1 versionSpecificMethod,String newVersion,String packageName) at UpgradeProcedure.Update()
和
消息:“system”是一个重复的属性名。第1行,位置5202。
异常类型: System.Xml.XmlException堆栈跟踪: at System.Xml.XmlTextReaderImpl.Throw(异常e),at System.Xml.XmlTextReaderImpl.Throw,at System.Xml.XmlTextReaderImpl.ParseAttributes(),at System.Xml.XmlTextReaderImpl.ParseElement() at System.Xml.XmlTextReaderImpl.ParseElementContent() at System.Xml.XmlLoader.LoadNode(布尔值skipOverWhitespace) at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc) at System.Xml.XmlDocument.Load(XmlReader reader) at System。CMS.FormEngine.FormHelper.MergeFormDefinitions(String原版的Xml.XmlDocument.LoadXml(String )字符串替代,布尔includeAllAltFields( UpgradeProcedure.UpdateAlternativeForms() at UpgradeProcedure.UpgradeApplication(Func`1‘1 versionSpecificMethod,String newVersion,String packageName) at UpgradeProcedure.Update()
我正在寻找关于如何解决这个问题的建议。任何关于从哪里开始的建议都是有帮助的!
发布于 2022-10-05 11:34:22
是否有来自市场的自定义模块或模块?我看到了一个问题,这个错误是由URL重定向模块引起的。https://devnet.kentico.com/articles/url-redirection
或者,另一个想法: MergeFormDefinitions将升级后的表单定义与以前的定义合并,以将自定义字段转换为新表单。
似乎其中一种旧表单没有正确存储,XML定义两次包含系统元素。或者,它包含一个像这样的字段,它可以是一个保留字。您可以检查CMS_Calss表中的定义,以查看它包含一个元素。
或者,您可以在升级过程中添加一个断点以捕获临时表。然后,您将能够看到新的定义并比较它们。这两种情况后来正在合并,问题似乎发生在当时。
https://stackoverflow.com/questions/73958681
复制相似问题