我现在有Grpc1,Grpc2两个GRCP的服务端。
其中Grpc1,Grpc2其中各有一个rpc服务,分别返回Msg1和Msg2,但是这个Msg1和Msg2中会公用一个枚举类型PubEnum。
目前我在Grpc1,Grpc2两个项目中,均有一个PubEnum.proto文件,两个是复制的内部是一摸一样。
在client中调用了Grpc1,Grpc2两个服务后,获取到的msg1、msg2后,无法对pubEnum字段进行比较。
请问这个公用的枚举该怎么做复用?
PS:
曾经考虑过把所用的protobuf文件都放在一个项目中,但是如果项目数量增加,后续的管理难度就会增加。
可以采用nuget包的形式 新增一个枚举nuhet包 然后rpc去引用
当然也可以采用比较愚钝的方法。对比后面的int值是否一致
nuget的形式和直接引用问题一样,如果把proto作为静态文件引用在项目中引用,最终生成的代码都是在派生项目中,会被系统认定为不同的类型。不知道是不是我的引用姿势不对。
判断int值是一种办法,但是感觉不够优雅。
现在暂时把所有的proto放在一个项目中