Объекты CodeFluent добавляют атрибут Runtime Design в False

Теперь, когда сайт blog.codefluententities.com не работает, негде получить ответы на часто задаваемые вопросы. Даже часто задаваемые вопросы и блог на их основном веб-сайте бедны и не имеют какого-либо инструмента поиска. В центре знаний вы можете попытаться выполнить поиск по некоторым основным вопросам, но вам потребуется пользовательский поиск в Google с помощью веб-сайта: ключ. Наконец-то я нашел подсказку о своей последней неудаче с использованием этого старого многообещающего инструмента по адресу:

https://www.softfluent.com/product/codefluent-entities/knowledge-center/json-serialization-D2715E9D140C-A6080529C80C

но ключевая ссылка указывает на потерянный домен, и это конец пути.

Мой вопрос решается по адресу:

CodeFluent Entities добавляет атрибут TypeConverterAttribute, который позволяет преобразовывать объект в строку с помощью свойства EntityDisplayName. Json.NET обнаруживает этот атрибут и ошибочно использует его для сериализации сущности в JSON. Есть 2 решения:

Удалите этот атрибут, если вы его не используете, установив для параметра «Добавить атрибут разработки среды выполнения» значение False. Используйте аспект Json.NET для создания определенного атрибута Json.NET для сгенерированных классов и свойств.

но нет никакой информации о том, как это сделать.

Как заявляет SoftFluent, вопросы можно публиковать в SO, добавляя codefluent, но сообщество пользователей плохо разбирается в продукте, а команда разработчиков @meziantou перегружена

Я действительно надеюсь, что этот проект не потерпит неудачу, поскольку это была одна из моих последних ставок на компанию со скрытым исходным кодом, и молюсь на каждое устаревшее бесплатное подключение к Интернету, зависящее от обновления, чтобы их сервер не был закрыт.


person JoeCool    schedule 27.01.2018    source источник
comment
Я больше не сотрудник SoftFluent. Вы можете проверить мою текущую позицию на странице моего профиля.   -  person meziantou    schedule 28.01.2018
comment
Кстати, вы должны спросить SoftFluent, как долго они будут поддерживать CodeFluent Entities (support[at]softfluent.com)   -  person meziantou    schedule 28.01.2018
comment
Прошу прещения за это. Я не проверял ваш профиль и использовал свою устаревшую информацию.   -  person JoeCool    schedule 28.01.2018
comment
Это хороший совет, чтобы спросить SoftFluent о том, как долго они будут поддерживать, но меня пугает не дата, а то, что они будут делать, когда время истечет. Лицензия Hope больше не действует на основе токена и продления интернет-соединения.   -  person JoeCool    schedule 28.01.2018


Ответы (2)


CodeFluent Entities добавляет атрибут TypeConverterAttribute, который позволяет преобразовывать объект в строку с помощью свойства EntityDisplayName. Json.NET обнаруживает этот атрибут и ошибочно использует его для сериализации сущности в JSON. Есть 2 решения:

Удалите этот атрибут, если вы его не используете, установив для параметра «Добавить атрибут Runtime Design» значение False.

Следующая конфигурация не позволит объектам CodeFluent генерировать [System.ComponentModel.TypeConverterAttribute(typeof(CodeFluent.Runtime.Design.NameTypeConverter))] для сгенерированных классов:

<cf:producer name="Business Object Model (BOM)" typeName="CodeFluent.Producers.CodeDom.CodeDomProducer, CodeFluent.Producers.CodeDom">
    <cf:configuration addRuntimeDesignAttributes="false" ... />
</cf:producer>

Вы также можете использовать средство моделирования для установки этого атрибута.

Используйте аспект Json.NET для создания определенного атрибута Json.NET для сгенерированных классов и свойств.

Если вам нужно сохранить TypeConverter, вы можете поручить CodeFluent Entities добавлять пользовательские атрибуты JSON.Net в сгенерированные классы и свойства, используя следующий аспект. Пример кода и использования доступен на GitHub: https://github.com/SoftFluent/CodeFluent-Entities/tree/master/Extensions/SoftFluent.Json.NET/

person meziantou    schedule 27.01.2018
comment
Я отметил ваш ответ, но, если мне будет позволено, я хотел бы знать, где фактические пользователи программных сущностей могут получить информацию о сомнениях, не содержащихся на странице документации на веб-сайте SofFluent. Мерси бокуп. - person JoeCool; 28.01.2018
comment
Вы можете продолжить задавать свой вопрос на SO. Саймон и я обязательно на них ответим. Обратите внимание, что команда SoftFluent также отслеживает этот тег, поэтому они должны отвечать на ваши вопросы. Если у вас есть сомнения, спросите их напрямую по электронной почте. - person meziantou; 29.01.2018

Чтобы вы были более уверены: да, этот тег SO все еще отслеживается в SoftFluent. Существует также почтовый ящик support[at]softfluent.com, который позволяет напрямую связаться со службой поддержки. Продукт по-прежнему поддерживается, и исправления публикуются, когда нам сообщают об ошибках. Мы готовим новую версию, ориентированную на .Net Standard 2.0, но по-прежнему будем поддерживать существующую версию как есть. Я пока не могу предоставить какие-либо сроки для этой новой версии.

person MCR    schedule 29.01.2018
comment
Я уверен, что это расслабит многих настоящих программистов CFE. Я по крайней мере! - person JoeCool; 02.02.2018