gRPC入门学习之旅(七)
3.6、创建gRPC的桌面应用客户端
1. 在Visual Studio 2022菜单栏上选择“文件—》新建—》项目”。
或者在Visual Studio 2022的解决方案资源管理器中,使用鼠标右键单击“解决方案‘Demo.GrpcService’”,在弹出的快捷菜单中选择“添加—》新建项目”。如下图。

2. Visual Studio 2022弹出的“创建新项目”的对话框中做如下选择。如下图。
- 在最左边的下拉框中,选择 “C# ,如下图中1处
- 在中间的下拉框中,选择 “所有平台”,如下图2处。
- 在最右边的下拉框中,选择“桌面”,如下图3处。
- 在下图中4处,选择“WPF应用程序”模板,点击“下一步”按钮。

4.在弹出的“配置新项目”的对话框中,在“项目名称”输入框中,输入“Demo.Grpc.Client”。然后使用鼠标点击“下一步”按钮。
5. 在弹出的“其他信息”的对话框,在“框架”下拉框中,选择“NET 7.0(标准期限支持)”。其他值选择默认值即可。然后使用鼠标点击“创建”按钮。项目创建成功,如下图。

6.在解决方案资源管理器中——>在项目WpfGridDemo.NET7中的依赖项上鼠标右键单击——>弹出一个菜单,选中“管理NuGet程序包”,如下图。

7. 在打开的NuGet包管理界面的中选择“浏览”标签页,在搜索框中输入“google”,找到最新版本google.protobuf,点击安装。如下图。

8. Visual Studio 2022 开始安装Google.Protobuf,会弹出安装确认界面,点击“OK”按钮。
9. 在打开的NuGet包管理界面的中“浏览”标签页的搜索框中输入“grpc”,然后依次安装以下三个包。
|
Grpc.Net.Client |
|
Grpc.Tools |
|
Grpc.Net.ClientFactory |
10. 在以上四个包全部安装完成之后,NuGet包管理界面的中选择“已安装”标签页,会看到刚才安装的四个包,如下图。

gRPC入门学习之旅(七)的更多相关文章
- 汇编入门学习笔记 (七)—— dp,div,dup
疯狂的暑假学习之 汇编入门学习笔记 (七)-- dp.div.dup 參考: <汇编语言> 王爽 第8章 1. bx.si.di.和 bp 8086CPU仅仅有4个寄存器能够用 &qu ...
- 我的Go语言学习之旅七:创建一个GUI窗口
在上次中,刚刚学过了 弹窗效果.这里再接着学习一下怎样创建一个窗口. 还是老路子,先上代码: package main import ( "github.com/lxn/go-winapi ...
- Egret入门学习日记 --- 第七篇(书中 3.9节 内容)
第七篇(书中 3.9节 内容) 好,今天就来看下 3.9节 的内容. 第一点: 昨天就已经搞定了. 第二点: 也包括在昨天的内容了. 第三点: 如果在构造函数里直接引用组件,就会挂掉. 但是把位置变化 ...
- [原创] zabbix学习之旅七:如何远程操作被监控机器
虽然我们已经创建了一个报警系统,但在实际场景中,运维人员从得到报警到实际解决问题有一定的时差,若业务系统没有做高可用,那业务不得不中断,对于某些要求严格的企业级环境,这是不可容忍的,那有没有方法能让z ...
- Spring学习之旅(七)--SpringMVC视图
在之前的实例中我们只是在 Controller 中返回了 home 字符类型的值,而没有直接生成可以在浏览器中直接渲染的 HTML,这是因为 SpringMVC 将请求处理的逻辑和视图渲染的实现进行了 ...
- WCF学习之旅—WCF第二个示例(七)
三.创建客户端应用程序 若要创建客户端应用程序,你将另外添加一个项目,添加对该项目的服务引用,配置数据源,并创建一个用户界面以显示服务中的数据. 在第一个步骤中,你将 Windows 窗体项目添加到解 ...
- Elasticsearch7.X 入门学习第七课笔记-----Mapping多字段与自定义Analyzer
原文:Elasticsearch7.X 入门学习第七课笔记-----Mapping多字段与自定义Analyzer 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处 ...
- 【数据库】7.0 MySQL入门学习(七)——MySQL基本指令:帮助、清除输入、查询等
1.0 help == ? 帮助指令,查询某个指令的解释.用法.说明等.详情参考博文: [数据库]6.0 MySQL入门学习(六)——MySQL启动与停止.官方手册.文档查询 https://www. ...
- WCF学习之旅—第三个示例之四(三十)
上接WCF学习之旅—第三个示例之一(二十七) WCF学习之旅—第三个示例之二(二十八) WCF学习之旅—第三个示例之三(二十九) ...
- WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一)
上接 WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) 七 WCF服务的Windows 服务程序寄宿 这种方式的服务寄宿,和IIS一样有一个一样 ...
随机推荐
- C++数值类型与string、CString之间的转换
目录 数值范围 数值类型与string互相转换 数值类型转换为string 使用函数模板+ostringstream 使用标准库函数std::to_string() string转换为数值类型 使用函 ...
- 在使用sudo apt-get -f install的时候,出现了更换介质的问题-依赖问题
这四个选项都选上,然后apt-get update 在修补依赖问题,apt-get -f install 就好了
- stream使用汇总
整理了下java使用stream处理list的几个便捷的方法 准备数据 List<KnowledgeInfoTable> knowledgeInfoTables = knowledgeIn ...
- vue+springboot图片上传和显示
一.前言 在使用spring boot做后台系统,vue做前端系统,给客户开发一套系统时候,其中用到了图片上传和显示的功能. 二.环境 前端:vue 前端组件:tinymce 后台:spring bo ...
- 3DCAT 首届行业生态交流会 | 瑞云科技技术总监赵志杰:实时渲染助力元宇宙应用触手可及
2021 年 12 月 17 日下午,由深圳市瑞云科技有限公司主办,深圳市虚拟现实产业联合会协办的云 XR 如何赋能元宇宙--3DCAT实时云渲染首届行业生态合作交流会圆满落幕.此次活动围绕 &quo ...
- 崩溃bug日志总结1
目录介绍 1.1 java.lang.UnsatisfiedLinkError找不到so库异常 1.2 java.lang.IllegalStateException非法状态异常 1.3 androi ...
- 记录--手写vm.$mount方法
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.概述 在我们开发中,经常要用到Vue.extend创建出Vue的子类来构造函数,通过new 得到子类的实例,然后通过$mount挂载到 ...
- QT数据库学习笔记
简介 QT通过模块化管理,对于某种模块需要添加对应的模块实现.QT SQL也是需要增加对应的模块来实现.QT数据库的层次关系为: 驱动层:数据库到SQL语言之间的桥梁 SQL API层: SQL语句的 ...
- Gaussian YOLOv3 : 对bbox预测值进行高斯建模输出不确定性,效果拔群 | ICCV 2019
在自动驾驶中,检测模型的速度和准确率都很重要,出于这个原因,论文提出Gaussian YOLOv3.该算法在保持实时性的情况下,通过高斯建模.损失函数重建来学习bbox预测值的不确定性,从而提高准确率 ...
- KingbaseES生成动态SQL
1. 动态SQL 动态SQL在程序启动时会根据输入参数替换相应变量.使用动态SQL可以创建更强大和灵活的应用程序,但在编译时SQL语句的全文不确定,因此运行时编译会牺牲一些性能.动态SQL可以是代码或 ...