1.问题

其实元数据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定义并未生成出来。

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

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

  1. java文件夹相关操作 演示样例代码

    java文件夹相关操作 演示样例代码 package org.rui.io; import java.io.File; import java.io.FilenameFilter; import ja ...

  2. 【gRPC使用问题1】gRPC的proto内import其他proto导致的一次小坑

    1.对于一些proto里面的定义,如果包含了 引入其他proto文件的 proto文件来说,生成的时候要注意.尤其是 引入的是官方框架内的 proto文件,如果自己没有提供的话,生成代码会报错! 具体 ...

  3. 30个php操作redis经常用法代码样例

    这篇文章主要介绍了30个php操作redis经常用法代码样例,本文事实上不止30个方法,能够操作string类型.list类型和set类型的数据,须要的朋友能够參考下 redis的操作非常多的,曾经看 ...

  4. python语言(三)文件修改、函数、json操作、监控日志代码、高效读取文件

    1.文件操作(2)   代码 f = open('a.txt','a') # "a" 如果源文件不在,会自动创建 f.write('abc') result = f.read() ...

  5. Git操作之码云代码clone

    安装Git https://git-scm.com/book/zh/v2/起步-安装-Git Git的网站上有详细的分各种系统的安装教程. 配置Git 1. 打开你要放置项目的本地路径,右键选择$ G ...

  6. Arduino - 串口操作函数与示例代码大全

    来源:https://blog.csdn.net/iracer/article/details/50334041 Arduino - 串口操作函数与示例代码大全 本文总结了Arduino常用串口操作函 ...

  7. PHP文件读写操作之文件写入代码

    在PHP网站开发中,存储数据通常有两种方式,一种以文本文件方式存储,比如txt文件,一种是以数据库方式存储,比如Mysql,相对于数据库存储,文件存储并没有什么优势,但是文件读写操作在基本的PHP开发 ...

  8. 使用jQuery操作Cookies的实现代码

    Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是 ...

  9. 19.3.20 cmd操作:1.dir查看当前文件夹内的文件;2.alt+space+c关闭cmd窗口

    cmd操作记录: 1.dir:查看当前文件夹内的所有文件: 2.alt+space+c:关闭打开的cmd窗口:

随机推荐

  1. Redis进阶实践之一VMWare Pro虚拟机安装和Linux系统的安装(转载)(1)

    Redis进阶实践之一VMWare Pro虚拟机安装和Linux系统的安装 一.引言 设计模式写完了,相当于重新学了一遍,每次学习都会有不同的感受,对设计模式的理解又加深了,理解的更加透彻了.还差一篇 ...

  2. [PHP]自定义session存储机制的两种方案

    ---------------------------------------------------------------------------------------------------- ...

  3. 1.Tomcat配置.md

    1.启动 解压缩安装包后,点击startup.bat,保持控制台窗口开启 浏览器中输入http://localhost:8080 后看到启动界面则表示启动成功 点击shutdown.bat则关闭Tom ...

  4. C++学习二继承

    转载自https://www.cnblogs.com/33debug/p/6666939.html 1.继承与派生  继承是使代码可以复用的重要手段,也是面向对象程序设计的核心思想之一.简单的说,继承 ...

  5. Android sdk 目录结构说明

    1.add-on:附加的包:2.docs:HTML格式的离线文档:3.platforms:sdk核心内容:4.tool:工具. 在platforms中包含了的各个Android SDK版本的目录中,包 ...

  6. 吴裕雄 27-MySQL 元数据

    你可能想知道MySQL以下三种信息:查询结果信息: SELECT, UPDATE 或 DELETE语句影响的记录数.数据库和数据表的信息: 包含了数据库及数据表的结构信息.MySQL服务器信息: 包含 ...

  7. 使用javap进行反编译Java枚举

    这是一个枚举类Day.java public enum Day { MONDAY("星期一"), TUESDAY("星期二"), WEDNESDAY(" ...

  8. kubectl windows

    https://storage.googleapis.com/kubernetes-release/release/v1.10.3/bin/windows/amd64/kubectl.exe

  9. pandas 数据结构基础与转换

    pandas 最常用的三种基本数据结构: 1.dataFrame: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Data ...

  10. ES2015 import & export

    [ES2015 import] The import statement is used to import functions, objects or primitives that have be ...