Grpc Proto To Nuget Package 是一个 VS 插件(支持 VS2019+),目的是将基于 gRPC 的接口定义 .proto 文件一键转成 Nuget Package,然后发布到私有仓库上。
下载最新 GrpcProtoToNugetPackageTemplate.zip ASP.NET 的项目模板,关于ASP.NET 的项目模板介绍可 查看文章
解压 GrpcProtoToNugetPackageTemplate.zip,进入目录执行
dotnet new -i Grpc.Proto.To.Nuget.Package.1.0.0.nupkg进行模板安装 (以下为可选操作,但建议修改)对模板内的
Content/.template.config/template.json、GrpcProtoToNugetPackage.csproj、Grpc.Proto.To.Nuget.Package.nuspec进行修改调整,如:Authors、Company、RepositoryUrl参数的配置修改后需要执行
nuget pack Grpc.Proto.To.Nuget.Package.nuspec(将 nuget.exe 添加到环境变量) 重新生成Grpc.Proto.To.Nuget.Package.1.0.0.nupkg最后重新安装此项目模板
安装成功后,可通过
dotnew new -u进行查看现有的项目模板,如下:Grpc.Proto.To.Nuget.Package即刚刚安装的项目模板,如果需要卸载,执行dotnew new -u Grpc.Proto.To.Nuget.Package
下载最新版 GrpcProtoToNugetPackage.vsix,在关闭所有 VS 窗口下,安装此插件
安装成功后,VS 打开含
.proto文件的项目(注意:.proto文件必须放在protos文件夹下)在
protos文件夹右键选择Grpc Proto To Nuget Package,如下:

击后会弹出配置窗口,设置 Nuget Package 要推送到的
源地址和APIKey(只需首次设置),测试可在 https://www.nuget.org 官网注册账号,并创建 API Key,实际私有项目需配置自己搭建的仓库源地址和APIKey
输入 Nuget Package 版本号(目前需要手动输入)
执行过程中使用的资源文件会暂存到
C:\TempGrpcNuget目录下。首次会创建repository.json保存 Nuget 仓库的配置信息,接下来每次会根据包名创建一个临时项目用于生成对应 Nuget Package,如果有问题,一般是因不符合规范导致编译不通过,这时候可在临时项目中通过dotnet build进行编译查看具体问题执行,注意输出日志,确保推送到远端仓库 OK

吴小龙同学

▲长按图片识别二维码关注
吴小龙同学:一个非常爱折腾的一线码农,目前在国内 TOP 3 手机厂商上班,8 年互联网经验,看他常年乐于分享,涉及很广,在技术、程序员职业发展等方面都有很多干货文章输出,墙裂推荐你关注一下!