Anpassade marshallers kräver ytterligare medlemmar
Den anpassade marshalleranalysen har ändrats för att kräva alla elementfokuserade marskalkslägen för att uppfylla både hanterade till ohanterade och ohanterade till hanterade former.
Tidigare beteende
Anpassade marshallers med MarshalMode.ElementIn
endast en ConvertToUnmanaged
metod behövs. Anpassade marshallers med MarshalMode.ElementOut
endast en ConvertToManaged
metod behövs.
Nytt beteende
Från och med .NET 8 rapporteras SYSLIB1057 för anpassade marshallers med MarshalMode.ElementIn
eller MarshalMode.ElementOut
som inte har både en ConvertToUnmanaged
och ConvertToManaged
-metod.
Version introducerad
.NET 8 RC 1
Typ av icke-bakåtkompatibel ändring
Den här ändringen kan påverka källkompatibiliteten.
Orsak till ändringen
Med introduktionen av källgenererad COM kan marshallers användas i elementscenarier i både hanterade till ohanterade och ohanterade till hanterade scenarier. Den här ändringen uppdaterar analysverktyget för att säkerställa att användardefinierade marshallers har de medlemmar som krävs för alla scenarier där marshaller kan användas.
Rekommenderad åtgärd
Lägg till både en ConvertToManaged
metod och ConvertToUnmanaged
till marshallertypen.