不使用 CsProj 生成 Dotnet GRPC 客户端代码
Generate Dotnet GRPC Client code Without CsProj
可以使用 protoc
以不需要 csproj 或解决方案的方式生成 dotnet 代码:
protoc -I=$SRC_DIR --csharp_out=$DST_DIR $SRC_DIR/addressbook.proto
是否可以做类似的事情来为 grpc client/server 存根生成代码?
是的 - 你只需要 gRPC 插件,你可以在 Grpc.Tools
包中下载它。
然后你使用:
protoc --grpc_out=$DST_DIR --plugin=protoc-gen-grpc=$GRPC_PLUGIN $SRC_DIR/addressbook.proto`
其中 GRPC_PLUGIN
是从 NuGet 包到 grpc_csharp_plugin.exe
(或 OS 的等效二进制文件)的路径。请注意,NuGet 包实际上只是一个 zip 文件,因此您可以根据需要编写脚本下载并解压缩它。
作为在 shell 脚本中执行此操作的示例,您可以查看 the generateprotos.sh script in gax-dotnet - 它还提供了一个指定您想要 .g.cs
后缀的示例。
可以使用 protoc
以不需要 csproj 或解决方案的方式生成 dotnet 代码:
protoc -I=$SRC_DIR --csharp_out=$DST_DIR $SRC_DIR/addressbook.proto
是否可以做类似的事情来为 grpc client/server 存根生成代码?
是的 - 你只需要 gRPC 插件,你可以在 Grpc.Tools
包中下载它。
然后你使用:
protoc --grpc_out=$DST_DIR --plugin=protoc-gen-grpc=$GRPC_PLUGIN $SRC_DIR/addressbook.proto`
其中 GRPC_PLUGIN
是从 NuGet 包到 grpc_csharp_plugin.exe
(或 OS 的等效二进制文件)的路径。请注意,NuGet 包实际上只是一个 zip 文件,因此您可以根据需要编写脚本下载并解压缩它。
作为在 shell 脚本中执行此操作的示例,您可以查看 the generateprotos.sh script in gax-dotnet - 它还提供了一个指定您想要 .g.cs
后缀的示例。