查阅官方以及网上的的操作都是需要手动复制一份服务的proto文件到客户端项目,设置为client only。如果忘记copy这一步可能导致服务和客户端调用不一致出错。
在一些开发场景下,如果服务端和客户端能共用proto文件可能比较便捷。
在此记录一下共用一份proto文件的方法
环境:.NET6、Visual Studio 2022
首先,创建一个.NET6的类库项目,Nuget引入:Google.Protobuf、Grpc.Core.Api、Grpc.Tools
项目中添加proto文件,右键属性:
生成方式:Protobuf compiler
gRPC Stub Classes:Client and Server。
之后在服务端和客户端分别引用这个类库项目即可。