You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Protobuf编译器如何避免生成类时字段首字母大写?

保留Protobuf生成类的字段首字母小写方案

默认情况下,.NET gRPC工具(Grpc.Tools)会遵循C#命名规范,将proto文件中的小写首字母字段自动转换为帕斯卡命名(首字母大写)。要保留字段原始的小写首字母格式,可通过配置编译参数实现:

方法一:全局配置(项目内所有proto文件生效)

在项目的.csproj文件中,找到包含Protobuf文件的<ItemGroup>节点,添加AdditionalProtobufCompileOptions属性,指定保留原始字段名的编译参数:

<ItemGroup>
  <Protobuf Include="**/*.proto" GrpcServices="Both" AdditionalProtobufCompileOptions="--csharp_opt=preserve_proto_field_names" />
</ItemGroup>

方法二:单个proto文件配置

若仅需针对特定proto文件保留小写字段,可单独为该文件配置编译参数:

<ItemGroup>
  <Protobuf Include="你的proto文件名.proto" GrpcServices="Both" AdditionalProtobufCompileOptions="--csharp_opt=preserve_proto_field_names" />
  <!-- 其他proto文件可保持默认配置 -->
</ItemGroup>

配置完成后,重新生成项目,生成的TestMsg类中的字段会保留原始的name(小写首字母),而非自动转为Name。

内容的提问来源于stack exchange,提问作者D.Firka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 07:27:02