【问题标题】:Generated models property type changes after updating to latest version Umbraco 7更新到最新版本 Umbraco 7 后生成的模型属性类型更改
【发布时间】:2020-05-27 12:04:37
【问题描述】:

我在 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。例如,我有一个文档类型“膳食”,其中有一个媒体字段“照片”。 Photo 以前是字符串,但现在是 Umbraco.Core.Models.IPublishedContent。

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

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

【问题讨论】:

    标签: umbraco umbraco7


    【解决方案1】:

    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

    【讨论】:

    • 太棒了。我让它工作了。我想我忽略了这个重大变化,因为我跳过了一堆版本。
    猜你喜欢
    • 1970-01-01
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-20
    • 2015-08-11
    • 2018-06-16
    相关资源
    最近更新 更多