更新到最新版本 Umbraco 7 后生成的模型 属性 类型发生变化

Generated models property type changes after updating to latest version Umbraco 7

我在 Visual Studio 有一个 Umbraco 站点,它使用生成的 Umbraco.Web.PublishedContentModels.dll 作为模型。 我正在尝试将此站点从 7.5.6 更新到最新版本的 Umbraco 7 (7.15.5)。除了更新的 Umbraco CMS Nuget 包,我还获得了更新的 Umbraco.ModelsBuilder 3.0.10。

一切似乎都正常,但是当我尝试通过后端重新生成 Umbraco.Web.PublishedContentModels.dll 时,生成的 DLL 对于某些型号具有不同的 属性 类型。 大多数情况下,以前是字符串的属性现在是 IPublishedContent。例如,我有一个文档类型 "Meal",它有一个媒体字段 "Photo"。照片以前是字符串,现在是Umbraco.Core.Models.IPublishedContent.

我最近继承了这个网站,所以我不太确定照片 属性 的类型是如何生成为字符串的。 7.5 和 7.15 之间的模型生成方式有变化吗?还是某些配置损坏了?

我想我可以重写每个使用这些属性来解包 IPublishedContent 并获得正确 属性 的地方,但我宁愿避免做很多工作。

Umbraco 团队在 v7.6 中为所有内置数据类型添加了值转换器。

可以在 ~/config/umbracoSettings.config:

中禁用值转换器
<!-- Enables value converters for all built in property editors so that they return strongly typed object, recommended for use with Models Builder -->
<EnablePropertyValueConverters>true</EnablePropertyValueConverters>

您可以在此处找到更多详细信息: https://issues.umbraco.org/issue/U4-7318