Marshallers personalizados exigem membros adicionais
O analisador de marshaller personalizado foi alterado para exigir todos os modos de marshal focados em elementos para satisfazer as formas gerenciadas para não gerenciadas e não gerenciadas para gerenciadas.
Comportamento anterior
Marshallers personalizados com MarshalMode.ElementIn
apenas um ConvertToUnmanaged
método necessário. Marshallers personalizados com MarshalMode.ElementOut
apenas um ConvertToManaged
método necessário.
Novo comportamento
A partir do .NET 8, SYSLIB1057 é relatado para marshallers personalizados com MarshalMode.ElementIn
ou MarshalMode.ElementOut
que não têm um ConvertToUnmanaged
e ConvertToManaged
método.
Versão introduzida
.NET 8 RC 1
Tipo de mudança de rutura
Essa alteração pode afetar a compatibilidade da fonte.
Razão para a alteração
Com a introdução do COM gerado na fonte, os marshallers podem ser usados em cenários de elementos em cenários gerenciados para não gerenciados e 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 ConvertToManaged
e ConvertToUnmanaged
método ao tipo de marshaller.