【gRPC使用问题2】按照问题1操作生成出来的代码,import的proto内定义的message未生成出来
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未生成出来的更多相关文章
- java文件夹相关操作 演示样例代码
java文件夹相关操作 演示样例代码 package org.rui.io; import java.io.File; import java.io.FilenameFilter; import ja ...
- 【gRPC使用问题1】gRPC的proto内import其他proto导致的一次小坑
1.对于一些proto里面的定义,如果包含了 引入其他proto文件的 proto文件来说,生成的时候要注意.尤其是 引入的是官方框架内的 proto文件,如果自己没有提供的话,生成代码会报错! 具体 ...
- 30个php操作redis经常用法代码样例
这篇文章主要介绍了30个php操作redis经常用法代码样例,本文事实上不止30个方法,能够操作string类型.list类型和set类型的数据,须要的朋友能够參考下 redis的操作非常多的,曾经看 ...
- python语言(三)文件修改、函数、json操作、监控日志代码、高效读取文件
1.文件操作(2) 代码 f = open('a.txt','a') # "a" 如果源文件不在,会自动创建 f.write('abc') result = f.read() ...
- Git操作之码云代码clone
安装Git https://git-scm.com/book/zh/v2/起步-安装-Git Git的网站上有详细的分各种系统的安装教程. 配置Git 1. 打开你要放置项目的本地路径,右键选择$ G ...
- Arduino - 串口操作函数与示例代码大全
来源:https://blog.csdn.net/iracer/article/details/50334041 Arduino - 串口操作函数与示例代码大全 本文总结了Arduino常用串口操作函 ...
- PHP文件读写操作之文件写入代码
在PHP网站开发中,存储数据通常有两种方式,一种以文本文件方式存储,比如txt文件,一种是以数据库方式存储,比如Mysql,相对于数据库存储,文件存储并没有什么优势,但是文件读写操作在基本的PHP开发 ...
- 使用jQuery操作Cookies的实现代码
Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是 ...
- 19.3.20 cmd操作:1.dir查看当前文件夹内的文件;2.alt+space+c关闭cmd窗口
cmd操作记录: 1.dir:查看当前文件夹内的所有文件: 2.alt+space+c:关闭打开的cmd窗口:
随机推荐
- linux 3.10 的中断收包笔记
来看下NAPI和非NAPI的区别: (1) 支持NAPI的网卡驱动必须提供轮询方法poll(). (2) 非NAPI的内核接口为netif_rx(),NAPI的内核接口为napi_schedule() ...
- org.hibernate.AssertionFailure: null id in xxx.xx.xx的问题
今日在开发时遇到一个比较奇怪的问题,保存时报这个异常: org.hibernate.AssertionFailure: null id in com.aa.TShoucang null id,这个是什 ...
- 13.BeanUtils组件-基础.md
目录 用途 基本属性的设置 Map数据的拷贝 对象的拷贝 转换器 用途 可以用来对JavaBean的各种增强操作 基本属性的设置 package per.liyue.code.beanutildemo ...
- repo 原理
Android源代码工程用repo来进行管理,本质是多个git仓的整合. 感谢https://blog.csdn.net/stoic163/article/details/78790349 1.Gen ...
- Swift中的的注释
1. Swift支持与OC中相同的 /**/ ./***/ 不同点Swift支持 /*/**/ 这样的注释 ,多行注释 2. 直接双杠注释 // 单行注释 3. 利用 //MARK: 返 ...
- UILabel的一些属性
1.0 lineBreakMode 1.1.0 NSLineBreakByWordWrapping = 0, 以字符为显示单位显示,后面部分省略不显示 NSLineBreakByCharWrapp ...
- spring boot 访问jsp 弹出下载
在pom.xml中加入以下jar 包 <!-- 引入Spring Boot 内嵌的Tomcat对jsp的解析包--><dependency> <groupId>or ...
- 吴裕雄 python 爬虫(4)
import requests user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, li ...
- 'Could not find first log file name in binary log index file'的解决办法
数据库主从出错: Slave_IO_Running: No 一方面原因是因为网络通信的问题也有可能是日志读取错误的问题.以下是日志出错问题的解决方案: Last_IO_Error: Got fatal ...
- HTTP中的Get与Post
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们可以这 样认为:一个URL地址,它用于描述一个网络上的资源,而HTT ...