A set of Roslyn diagnostics and fixes for Protobuf-net
This will check for common errors when writing classes that are decorated with Protobuf-net attributes for protocol buffers serialization.
At this point it checks for:
- ERROR : Tags set to 0
- ERROR : Tags in the reserved range 19000-19999
- ERROR : Duplicate tags, including collisions with ProtoInclude tags
- ERROR : Inconsistencies between
DataMember
andProtoMember
tags - ERROR : Tags set to negative values
- WARNING :
DataMember
orProtoMember
found on class withoutDataContract
orProtoContract
Planned features:
- Missing
ProtoInclude
for derived classes withDataContract
/ProtoContract
/ProtoMember
/DataMember
attributes - Inconsistencies between
DataContract
/ProtoContract
- Re-number tags on existing
ProtoMember
/DataMember
attributes - Reorder members according to existing
ProtoMember
/DataMember
tags - Add tags to properties or fields on existing class marked with *Contract attributes
- Switching from Data* to Proto* tags
The vsix extension is available as an artifact on the Appveyor build.