Os marshallers personalizados exigem membros adicionais
O analisador de marshaller personalizado foi alterado para exigir que todos os modos de marshal com foco em elemento satisfaçam as formas gerenciadas para não gerenciadas e não gerenciadas para gerenciadas.
Comportamento anterior
Marshallers personalizados com MarshalMode.ElementIn
só precisavam de um método ConvertToUnmanaged
. Marshallers personalizados com MarshalMode.ElementOut
só precisavam de um método ConvertToManaged
.
Novo comportamento
A partir do .NET 8, SYSLIB1057 é reportado para marshallers personalizados com MarshalMode.ElementIn
ou MarshalMode.ElementOut
que não têm um método ConvertToUnmanaged
e ConvertToManaged
.
Versão introduzida
.NET 8 RC 1
Tipo de alteração interruptiva
Essa alteração pode afetar a compatibilidade da origem.
Motivo da alteração
Com a introdução do COM gerado pela origem, os marshallers podem ser usados em cenários de elementos tanto em cenários gerenciados para não gerenciados quanto em cenários não gerenciados para gerenciados. Essa alteração atualiza o analisador para garantir que os marshallers definidos pelo usuário tenham os membros necessários para todos os cenários em que o marshaller possa ser usado.
Ação recomendada
Adicione um método ConvertToUnmanaged
e ConvertToManaged
ao tipo de marshaller.