Los serializadores personalizados requieren miembros adicionales
El analizador de serializador personalizado ha cambiado para requerir que todos los modos de serialización centrados en elementos satisfagan las formas de administrado a no administrado y de no administrado a administrado.
Comportamiento anterior
Los serializadores personalizados con MarshalMode.ElementIn
solo necesitaban un método ConvertToUnmanaged
. Los serializadores personalizados con MarshalMode.ElementOut
solo necesitaban un método ConvertToManaged
.
Comportamiento nuevo
A partir de .NET 8, se notifica SYSLIB1057 para serializadores personalizados con MarshalMode.ElementIn
o MarshalMode.ElementOut
que no tienen un método ConvertToUnmanaged
y ConvertToManaged
.
Versión introducida
.NET 8 RC 1
Tipo de cambio importante
Este cambio puede afectar a la compatibilidad de orígenes.
Motivo del cambio
Con la introducción de COM generado por el origen, los serializadores se pueden usar en escenarios de elementos en escenarios de administrado a no administrado y de no administrado a administrado. Este cambio actualiza el analizador para asegurarse de que los serializadores definidos por el usuario tienen los miembros necesarios para todos los escenarios en los que se pueda usar el serializador.
Acción recomendada
Agregue un método ConvertToManaged
y ConvertToUnmanaged
al tipo de serializador.