我正在尝试从 .proto 文件生成 csharp (.cs) 文件。我从 github 下载了 protobuf-net 并在本地构建,这样我就可以使用 protogen 生成 .cs 文件。我的问题是,我希望它采用生成输出的 API 的先前版本的格式,例如,新生成的类不是从 ProtoBuf.IExtensible 继承的,而先前的版本确实从 ProtoBuf.IExtensible 继承。例如 protogen 正在生成:
[global::ProtoBuf.ProtoContract()]
    public partial class ClientMsg
    {
        [global::ProtoBuf.ProtoMember(100)]
        public Logon logon { get; set; }
        ...
    } 
我想要的是:
    [global::System.Serializable, global::ProtoBuf.ProtoContract(Name=@"ClientMsg")]
    public partial class ClientMsg : global::ProtoBuf.IExtensible
    {
        public ClientMsg() {}
        private WebAPI_1.Logon _logon = null;
        [global::ProtoBuf.ProtoMember(100, IsRequired = false, Name=@"logon", DataFormat = global::ProtoBuf.DataFormat.Default)]
        [global::System.ComponentModel.DefaultValue(null)]
        public WebAPI_1.Logon logon
        {
          get { return _logon; }
          set { _logon = value; }
        }
...
}