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
DataMemberandProtoMembertags - ERROR : Tags set to negative values
- WARNING :
DataMemberorProtoMemberfound on class withoutDataContractorProtoContract
Planned features:
- Missing
ProtoIncludefor derived classes withDataContract/ProtoContract/ProtoMember/DataMemberattributes - Inconsistencies between
DataContract/ProtoContract - Re-number tags on existing
ProtoMember/DataMemberattributes - Reorder members according to existing
ProtoMember/DataMembertags - 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.