Perhaps the easiest way to use ProtoInclude is with typeof , since it automatically handles a lot of nuances:
[ProtoInclude(1, typeof(SomeItemType))]
Alternatively, you can simply use the names corresponding to the assembly like this:
[ProtoInclude(1,"SomeItemType, SomeRandomAssembly")]
In a rather peculiar case involving several AppDomain s, I found that you can also work with magic with the AppDomain.TypeResolve event, but this should be avoided if possible. I also have a complete overhaul of the metadata layer in the pipeline, which provides much more flexibility at runtime (instead of declaring everything ever at compilation, which causes some pain above).
source share