Skip to content

Unable to cast object of type on netcore #340

@littleAnarchy

Description

@littleAnarchy

Hello.
We have been transferring our projects to netcore 3.1 and netstandard 2.0 and now we are experiencing an issue with generating MessagePackSerializer for our messages. We are receiving such exception:
Unable to cast object of type 'MsgPack.Serialization.EmittingSerializers.Generated.Parent_ParentClassSerializer3' to type 'MsgPack.Serialization.MessagePackSerializer1[Parent.ParentClass]'.`

We are loading libraries in runtime. We have two libs with messages. One lib has enum and message which uses this enum, and the second lib has only one message which uses enum from first. If serializers for the types in the second library is created first, then serializers for types in the first library can't be created and we are receiving the exception. All libs with messages and lib that performing serialization using netstandard2.0 and only lib with entry point using netcore3.1.

image

Bug disappears if we change loading order (lib with enum load first) or use net472 for the entry point library.

MsgPackExceptionExample.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions