【gRPC使用问题2】按照问题1操作生成出来的代码,import的proto内定义的message未生成出来

时间:2024-10-07 21:06:02

1.问题

【gRPC使用问题2】按照问题1操作生成出来的代码,import的proto内定义的message未生成出来

其实元数据proto里是有定义message,但是 这个message的定义是在另一个 proto文件内,被 api.proto导入,事实上 我是对 api.proto

进行命令行生成代码的(命令:F:\Coding\test-gRPC-generate\ConsoleApp1\packages\Grpc.Tools.1.13.0\tools\windows_x86\protoc.exe -IConsoleApp1 --csharp_out ConsoleApp1  ConsoleApp1\api\api.proto --grpc_out ConsoleApp1 --plugin=protoc-gen-grpc=packages\Grpc.Tools.1.13.0\tools\windows_x86\grpc_csharp_plugin.exe)

:所以被import的proto内message定义并未生成出来。

【gRPC使用问题2】按照问题1操作生成出来的代码,import的proto内定义的message未生成出来

2.解决方法:

手动分批次执行命令,将 其他的proto文件定义的内容生成出来。

i.e:

//C:\Users\DELL\Desktop\ConsoleApp11\packages\Grpc.Tools.1.13.0\tools\windows_x86\protoc.exe -IConsoleApp1 --csharp_out ConsoleApp1  ConsoleApp1\api\api.proto --grpc_out ConsoleApp1 --plugin=protoc-gen-grpc=packages\Grpc.Tools.1.13.0\tools\windows_x86\grpc_csharp_plugin.exe

//C:\Users\DELL\Desktop\ConsoleApp11\packages\Grpc.Tools.1.13.0\tools\windows_x86\protoc.exe -IConsoleApp1 --csharp_out ConsoleApp1  ConsoleApp1\core\Contract.proto --grpc_out ConsoleApp1 --plugin=protoc-gen-grpc=packages\Grpc.Tools.1.13.0\tools\windows_x86\grpc_csharp_plugin.exe

//C:\Users\DELL\Desktop\ConsoleApp11\packages\Grpc.Tools.1.13.0\tools\windows_x86\protoc.exe -IConsoleApp1 --csharp_out ConsoleApp1  ConsoleApp1\core\Discover.proto --grpc_out ConsoleApp1 --plugin=protoc-gen-grpc=packages\Grpc.Tools.1.13.0\tools\windows_x86\grpc_csharp_plugin.exe

//C:\Users\DELL\Desktop\ConsoleApp11\packages\Grpc.Tools.1.13.0\tools\windows_x86\protoc.exe -IConsoleApp1 --csharp_out ConsoleApp1  ConsoleApp1\core\Tron.proto --grpc_out ConsoleApp1 --plugin=protoc-gen-grpc=packages\Grpc.Tools.1.13.0\tools\windows_x86\grpc_csharp_plugin.exe

//C:\Users\DELL\Desktop\ConsoleApp11\packages\Grpc.Tools.1.13.0\tools\windows_x86\protoc.exe -IConsoleApp1 --csharp_out ConsoleApp1  ConsoleApp1\core\TronInventoryItems.proto --grpc_out ConsoleApp1 --plugin=protoc-gen-grpc=packages\Grpc.Tools.1.13.0\tools\windows_x86\grpc_csharp_plugin.exe

GRPCTools会自动识别 不同内容的 Proto,生产不同的 .cs文件。

3.

使用生成好的代码:

i.e:

  static void Main(string[] args)
{
Channel channel = new Channel("127.0.0.1:9007", ChannelCredentials.Insecure); var client = new Wallet.WalletClient(channel);
//var reply = client.CreateAccount();
}

  

请保留原文链接:https://www.cnblogs.com/x-poior/p/9266103.html