• 【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

  • 相关阅读:
    每日站立会议08
    MAVEN常用命令
    android开发环境搭建
    阻止默认事件和阻止事件冒泡
    C#ActiveX安装项目
    System&Software
    poj 1386 Play on Words 有向欧拉回路
    poj 1033
    120.Triangle
    pandas中 transform 函数和 apply 函数的区别
  • 原文地址:https://www.cnblogs.com/x-poior/p/9266103.html
Copyright © 2020-2023  润新知