


前言:今天上午都在搞这个,重新创建了很多次新的Grpc项目,也下了很多次不同的Grpc.AspNetCor
包,未果,因为这个错与VS2019使用和创建项目无关,算是一个奇奇怪怪的错,所以来记一哈
创建一个Grpc
如下图:
正常情况下会生成如下项目:
我遇到的错就会这样显示:
看见打开的GreeterService.cs文件应该可以看到是没有将<Protobuf Include="Protos\greet.proto" GrpcServices="Server" />
加入配置中,但又想了哈,这个好像是默认生成没有生成成功,双击项目名称可以看到配置中其实存在<Protobuf Include="Protos\greet.proto" GrpcServices="Server" />
代码,但是我们右击项目名称->点击在文件资源管理器中打开文件->点击obj->点击Debug->点击netcoreapp3.1。查看文件并没有生成有关greet的两个类;并且自动下载的包好像也有问题。
解决包的下载问题
之前一直用的一直用的第一个源和第二个源,今天添加第三个源来进行包的下载,重新下载后包的确不再报错,但是GreeterService.cs
里的报错依旧不减且还报出一个protoc-gen-grpc:系统找不到指定的路径。--grpc_out
的一个奇奇怪怪的错,这个才是错的重头!!!
protoc-gen-grpc:系统找不到指定的路径。
百度好多次,总结来说就是账户名是有特殊字符或者中文,我开始以为是VS2019的账户,进行了账户名更改,结果并没有什么变化,后面想了一哈报错路径找不到,那应该是计算机用户账户名的错咯!改了账户名依旧没有变化,看到C盘里有一个用户文件夹里面有一个以计算机用户名为名称的文件夹
我尝试更改那个中文名称的文件夹,右击后却没有重命名选项,如果需要更改这个文件夹则需=>Win+R->输入regedit并点击确定->点击’计算机’->点击’HKEY_LOCAL_MACHINE’->点击’SOFTWARE’->点击’Microsoft’->点击’Windows NT’->点击’CurrentVersion’->点击’ProfileList’->单击’S-1-5-21-……’->在右边面板双击’ProfileImagePath’->将Users后面的特殊字符或者中文改成非特殊字符和中文。
然后重启计算机,就可以更改C盘里Users里的那个中文(特殊字符)账户名文件夹了。
更改了那个文件夹名称后再次重启计算机,打开之前创建的项目,就会发现没有报错且服务自动生成的两个有关greet的类也生成成功。