【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窗口:
随机推荐
- python笔记之强制函数以关键字参数传参
最近学习python,学到了函数传参,看到了以下这个特殊情况,特此来做个笔记 def add(*, x, y): print(x, y) 以上函数定义后,该怎么传参?前面的那个*号是做什么用的? 我们 ...
- Celery 图,[转]
https://www.cnblogs.com/forward-wang/p/5970806.html
- JS代码注释
1.css和js都可以使用/**/进行注释 2.html使用<!---->注释 3.单行js代码可以使用//进行注释 <!DOCTYPE html> <html lang ...
- C++ 关于MFC List Control 控件的使用事项 原创
1\在开发项目时,使用到了 listcontrol 控件,就一些问题,做一下备注,以备以后使用 (1) 给list项目 删除所有的项目 DeleteAllItems(); (2) 给list项目 ...
- debug.keystare找不到的解决办法[转]
重装系统之后,丢失了debug.keystore,找了很久都没有找到,根据网上所讲的只要重新运行一个android项目;就会在avd中生成一个新的debug.keystroe,此法也没解决,索性直接重 ...
- C# 指定平台编译项目
如CefSharp就需要指定平台,项目为Any CPU时,无法编译,总会提示出错. 如: CefSharp.Common contains unmanaged resoures, set your p ...
- 吴裕雄 python神经网络 花朵图片识别(10)
import osimport numpy as npimport matplotlib.pyplot as pltfrom PIL import Image, ImageChopsfrom skim ...
- Centos 7升级内核
检查当前 CentOS 系统内核版本 uname -sr 在 CentOS 7 上启用 ELRepo 仓库 rpm --import https://www.elrepo.org/RPM-GPG-KE ...
- 2、CDH 搭建Hadoop在安装(安装Cloudera Manager,CDH和托管服务)
安装Cloudera Manager,CDH和托管服务 建议使用此过程为生产环境安装Cloudera Manager和CDH.对于非生产“易于安装”,请参阅安装概念证明群集. 在开始安装之前,请确保已 ...
- cakePHP的ajax弹出窗
在html里添加一个触发弹出框的按钮 $("#button1").on("click", function() { $("#dialogue" ...