使用protobuf-net生成C#类的命名约定及相关配置问题
protobuf-net 构建生成C#类配置方案
1. 生成PascalCase大驼峰属性配置
通过给构建工具传递生成参数即可实现自动将字段名转为C#推荐的大驼峰格式,分全局配置和单文件配置两种方式:
- 全局对所有.proto文件生效:在项目文件的
PropertyGroup节点中添加如下配置<PropertyGroup> <ProtoCGenOptions>--pascal_case</ProtoCGenOptions> </PropertyGroup> - 仅对指定.proto文件生效:在对应
Protobuf引用节点中添加附加参数<ItemGroup> <Protobuf Include="Protos\demo.proto" AdditionalProtocArguments="--pascal_case" /> </ItemGroup>
2. 指定生成类的命名空间
同样支持全局统一配置和单文件单独配置:
- 全局统一命名空间:在
PropertyGroup节点中配置默认命名空间,所有未单独指定的.proto文件生成的类都会使用该命名空间<PropertyGroup> <DefaultProtobufNamespace>Your.Custom.RootNamespace</DefaultProtobufNamespace> </PropertyGroup> - 单文件指定命名空间:在对应
Protobuf引用节点中添加Namespace属性,该配置优先级高于.proto文件内定义的csharp_namespace和全局默认命名空间<ItemGroup> <Protobuf Include="Protos\demo.proto" Namespace="Your.Custom.SpecificNamespace" /> </ItemGroup>
内容的提问来源于stack exchange,提问作者tvandinther
相关产品推荐
相关产品推荐

