zoukankan      html  css  js  c++  java
  • 【gRPC使用问题2】按照问题1操作生成出来的代码,import的proto内定义的message未生成出来

    1.问题

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

    进行命令行生成代码的(命令:F:Coding est-gRPC-generateConsoleApp1packagesGrpc.Tools.1.13.0 oolswindows_x86protoc.exe -IConsoleApp1 --csharp_out ConsoleApp1  ConsoleApp1apiapi.proto --grpc_out ConsoleApp1 --plugin=protoc-gen-grpc=packagesGrpc.Tools.1.13.0 oolswindows_x86grpc_csharp_plugin.exe)

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

    2.解决方法:

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

    i.e:

    //C:UsersDELLDesktopConsoleApp11packagesGrpc.Tools.1.13.0	oolswindows_x86protoc.exe -IConsoleApp1 --csharp_out ConsoleApp1  ConsoleApp1apiapi.proto --grpc_out ConsoleApp1 --plugin=protoc-gen-grpc=packagesGrpc.Tools.1.13.0	oolswindows_x86grpc_csharp_plugin.exe
    
    //C:UsersDELLDesktopConsoleApp11packagesGrpc.Tools.1.13.0	oolswindows_x86protoc.exe -IConsoleApp1 --csharp_out ConsoleApp1  ConsoleApp1coreContract.proto --grpc_out ConsoleApp1 --plugin=protoc-gen-grpc=packagesGrpc.Tools.1.13.0	oolswindows_x86grpc_csharp_plugin.exe
    
    //C:UsersDELLDesktopConsoleApp11packagesGrpc.Tools.1.13.0	oolswindows_x86protoc.exe -IConsoleApp1 --csharp_out ConsoleApp1  ConsoleApp1coreDiscover.proto --grpc_out ConsoleApp1 --plugin=protoc-gen-grpc=packagesGrpc.Tools.1.13.0	oolswindows_x86grpc_csharp_plugin.exe
    
    //C:UsersDELLDesktopConsoleApp11packagesGrpc.Tools.1.13.0	oolswindows_x86protoc.exe -IConsoleApp1 --csharp_out ConsoleApp1  ConsoleApp1coreTron.proto --grpc_out ConsoleApp1 --plugin=protoc-gen-grpc=packagesGrpc.Tools.1.13.0	oolswindows_x86grpc_csharp_plugin.exe
    
    //C:UsersDELLDesktopConsoleApp11packagesGrpc.Tools.1.13.0	oolswindows_x86protoc.exe -IConsoleApp1 --csharp_out ConsoleApp1  ConsoleApp1coreTronInventoryItems.proto --grpc_out ConsoleApp1 --plugin=protoc-gen-grpc=packagesGrpc.Tools.1.13.0	oolswindows_x86grpc_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

  • 相关阅读:
    记录一次namespace 处于Terminating状态的处理方法
    Python的递归函数
    Rancher安装
    常用的正则
    Maven生命周期
    长春理工大学第十四届程序设计竞赛(重现赛)F
    长春理工大学第十四届程序设计竞赛(重现赛)B
    牛客假日团队赛1 B
    Codeforces Round #564 (Div. 2)B
    Codeforces Round #564 (Div. 2)A
  • 原文地址:https://www.cnblogs.com/x-poior/p/9266103.html
Copyright © 2011-2022 走看看