es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Umbraco 8 – Error en all.generated.cs cuando añado un Macro dentro de RTE.

Cuando intento agregar cualquier tipo de macro (incluso si solo incluye un <Div> vacío) en un RTE, arroja el siguiente error:

Newtonsoft.Json.JsonSerializationException: Error al obtener el valor de '***' en 'Umbraco.Web.PublishedModels.***'. ---> System.ArgumentNullException: El valor no puede ser nulo.
Nombre del parámetro: doc
   en Umbraco.Web.Macros.PublishedContentHashtableConverter..ctor(IPublishedContent doc) en D:\a\1\s\src\Umbraco.Web\Macros\PublishedContentHashtableConverter.cs:línea 57
   en Umbraco.Web.Macros.MacroRenderer.Render(String macroAlias, IPublishedContent content, IDictionary`2 macroParams) en D:\a\1\s\src\Umbraco.Web\Macros\MacroRenderer.cs:línea 200
   en Umbraco.Web.PropertyEditors.ValueConverters.RteMacroRenderingValueConverter.<>c__DisplayClass4_1.<RenderRteMacros>b__1(String macroAlias, Dictionary`2 macroAttributes) en D:\a\1\s\src\Umbraco.Web\PropertyEditors\ValueConverters\RteMacroRenderingValueConverter.cs:línea 57
   en Umbraco.Web.Macros.MacroTagParser.ParseMacros(String text, Action`1 textFoundCallback, Action`2 macroFoundCallback) en D:\a\1\s\src\Umbraco.Web\Macros\MacroTagParser.cs:línea 196
   en Umbraco.Web.PropertyEditors.ValueConverters.RteMacroRenderingValueConverter.RenderRteMacros(String source, Boolean preview) en D:\a\1\s\src\Umbraco.Web\PropertyEditors\ValueConverters\RteMacroRenderingValueConverter.cs:línea 63
   en Umbraco.Web.PropertyEditors.ValueConverters.RteMacroRenderingValueConverter.Convert(Object source, Boolean preview) en D:\a\1\s\src\Umbraco.Web\PropertyEditors\ValueConverters\RteMacroRenderingValueConverter.cs:línea 89
   en Umbraco.Web.PropertyEditors.ValueConverters.RteMacroRenderingValueConverter.ConvertIntermediateToObject(IPublishedElement owner, IPublishedPropertyType propertyType, PropertyCacheLevel referenceCacheLevel, Object inter, Boolean preview) en D:\a\1\s\src\Umbraco.Web\PropertyEditors\ValueConverters\RteMacroRenderingValueConverter.cs:línea 71
   en Umbraco.Core.Models.PublishedContent.PublishedPropertyType.ConvertInterToObject(IPublishedElement owner, PropertyCacheLevel referenceCacheLevel, Object inter, Boolean preview) en D:\a\1\s\src\Umbraco.Core\Models\PublishedContent\PublishedPropertyType.cs:línea 219
   en Umbraco.Web.PublishedCache.NuCache.Property.GetValue(String culture, String segment) en D:\a\1\s\src\Umbraco.Web\PublishedCache\NuCache\Property.cs:línea 211
   en Umbraco.Web.PublishedPropertyExtension.Value[T](IPublishedProperty property, String culture, String segment, Fallback fallback, T defaultValue) en D:\a\1\s\src\Umbraco.Web\PublishedPropertyExtension.cs:línea 39
   en Umbraco.Web.PublishedContentExtensions.Value[T](IPublishedContent content, String alias, String culture, String segment, Fallback fallback, T defaultValue) en D:\a\1\s\src\Umbraco.Web\PublishedContentExtensions.cs:línea 163
   en Umbraco.Web.PublishedModels.*** en ***\App_Data\Models\all.generated.cs:línea 748
   en ***
   en Newtonsoft.Json.Serialization.DynamicValueProvider.GetValue(Object target) en /_/Src/Newtonsoft.Json/Serialization/DynamicValueProvider.cs:línea 110
   --- Fin del seguimiento de la pila de excepciones internas ---
   en Newtonsoft.Json.Serialization.DynamicValueProvider.GetValue(Object target) en /_/Src/Newtonsoft.Json/Serialization/DynamicValueProvider.cs:línea 114
   en Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.CalculatePropertyValues(JsonWriter writer, Object value, JsonContainerContract contract, JsonProperty member, JsonProperty property, JsonContract& memberContract, Object& memberValue) en /_/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalWriter.cs:línea 520
   en Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.SerializeObject(JsonWriter writer, Object value, JsonObjectContract contract, JsonProperty member, JsonContainerContract collectionContract, JsonProperty containerProperty) en /_/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalWriter.cs:línea 469
   en Newtonsoft.Json.Serialization.JsonSerializerInternalWriter.Serialize(JsonWriter jsonWriter, Object value, Type objectType) en /_/Src/Newtonsoft.Json/Serialization/JsonSerializerInternalWriter.cs:línea 95
   en Newtonsoft.Json.JsonSerializer.SerializeInternal(JsonWriter jsonWriter, Object value, Type objectType) en /_/Src/Newtonsoft.Json/JsonSerializer.cs:línea 1151
   en Newtonsoft.Json.JsonConvert.SerializeObjectInternal(Object value, Type type, JsonSerializer jsonSerializer) en /_/Src/Newtonsoft.Json/JsonConvert.cs:línea 664
   en Newtonsoft.Json.JsonConvert.SerializeObject(Object value, Formatting formatting, JsonSerializerSettings settings) en /_/Src/Newtonsoft.Json/JsonConvert.cs:línea 629

Se han censurado algunos nombres y rutas.

Mientras depuraba mi código, muestra el siguiente error al intentar serializar IPublishedContent en all.generated.cs:
Error in all.generated.cs

No uso plantillas Umbraco, el lado del cliente está separado y recupera los datos de Umbraco utilizando solicitudes HTTP a un punto de API personalizado que utiliza UmbracoHelper.
No estoy utilizando MVC.

¿Alguien ha enfrentado ese problema y sabe cómo manejarlo?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Basándose en el mensaje de error proporcionado, parece que el problema está relacionado con la serialización de IPublishedContent, que es parte del CMS Umbraco. Específicamente, parece que la serialización falla debido a que se está pasando un parámetro nulo al constructor de PublishedContentHashtableConverter.

    Una posible solución a este problema podría ser serializar manualmente el objeto IPublishedContent utilizando una biblioteca o método de serialización diferente. Esto requeriría modificar el código responsable de generar la salida JSON para el RTE.

    Otra posible solución podría ser investigar la causa raíz del parámetro nulo que se está pasando a PublishedContentHashtableConverter. Esto podría implicar examinar los datos de entrada al RTE y asegurarse de que estén correctamente formateados y estructurados, así como buscar cualquier error o problema en el propio CMS Umbraco que podría estar causando el problema.

    En última instancia, el mejor enfoque dependerá de los detalles específicos del proyecto y la naturaleza del problema que se está encontrando. Puede ser útil consultar a otros desarrolladores o foros de la comunidad para recibir consejos y orientación sobre cómo resolver este problema.

Comments are closed.