为什么我得到:“--grpc_out:protoc-gen-grpc:系统找不到指定的路径。” 信息?

Gal*_*jič 10 cmd grpc

我正在关注gRPC 的C# 快速入门教程。我已经到了这一步,我必须使用以下命令来生成 gRPC 代码:

%UserProfile%\.nuget\packages\Grpc.Tools.1.15.0\tools\windows_x86\protoc.exe -I../../protos --csharp_out Greeter --grpc_out Greeter ../../protos/helloworld.proto --plugin=protoc-gen-grpc=%UserProfile%\.nuget\packages\packages\Grpc.Tools.1.15.0\tools\windows_x86\grpc_csharp_plugin.exe
Run Code Online (Sandbox Code Playgroud)

它不起作用,运行上面的命令后我在终端中得到的是这样的:

--grpc_out: protoc-gen-grpc: 系统找不到指定的路径。

我不知道为什么系统找不到路径,因为我已经更改了命令中的路径,使其指向需要执行的文件。

bgh*_*bgh 7

我考虑了迈克尔的答案。但是,使用不同的用户帐户不是一个选项,而且我无法重命名我的用户帐户,因为它是 Azure AD 用户,因此 Windows 本地用户列表中没有条目,我可以在其中更改其文件夹位置注册表。

为我做的解决方法是更改​​全局包文件夹的位置


小智 6

我遇到了同样的错误,因为我的用户文件夹中有 cyrillyc 符号。通过更改 nuget 文件配置中全局 nuget 包的路径来解决(对于 Windows:)%appdata%\NuGet\NuGet.config

<configuration>
  <config>
    <add key="globalPackagesFolder" value="D:\.nuget\packages" />
  </config>
</configuration>
Run Code Online (Sandbox Code Playgroud)

相反,D:\.nuget\packages您可以设置任何没有错误符号的路径


Noa*_*sen 5

您可以尝试传递绝对路径吗--plugin=protoc-gen-grpc=