前言:
我们在进行grpc开发时,通常业务需求变化时需要修改message中的字段定义。
但当我们自己开发了Client和Server时,我们一般不会手动修改两个文件,而是会让Client引用Server中定义的proto文件。
问题:
Client文件结构:
Server文件结构:
Client引用了Server中的两个proto文件:
Client端Build时出现的错误:
问题的出现是因为在Client端中,protos文件认定 Protos物理路径为根目录,而在Server端中 protos文件认定 GrpcServerProtos为根目录,所以他们的引用地址相差了一级。
解决方法:
修改Server项目中的protos文件的引用目录,双击项目修改:
这时候将protos文件的improt路径:
这样Client就可以编译成功了。