当前的预值集合是基于数组的,请改用 PreValuesAsArray 属性

The current pre-value collection is array based, use the PreValuesAsArray property instead

从 Umbraco 7.4.3 升级到 7.6.11 导致在我尝试加载站点时出现以下错误:

The current pre-value collection is array based, use the PreValuesAsArray property instead. This usually indicates that the content cache is corrupt; the content cache has been rebuilt in an attempt to self-fix the issue.

我该如何解决这个错误?

我已经尝试重新发布站点并使用健康检查部分检查数据完整性。

这可能是 属性 值转换器 错误,在 upgrade documentation.

中提到

该站点未使用模型生成器,因为它在 Web.config 中被禁用,使用:

<add key="Umbraco.ModelsBuilder.Enable" value="false" />

umbracoSettings.config中,自动添加了EnablePropertyValueConverters属性并设置为true。将其设置为 false 修复了错误:

<EnablePropertyValueConverters>true</EnablePropertyValueConverters>

我认为错误的发生是因为此设置更改了内容缓存 XML 的生成方式,因此为了使网站的旧代码正常工作,需要继续创建 XML同理。