Google Speech API身份验证中的grpc.core.Channel问题

时间:2018-09-19 09:08:59

标签: grpc google-speech-api

我在C#桌面应用程序中使用SpeechtoText Google API。我正在尝试使用json文件进行身份验证(包含项目ID和帐户ID等)。当我在Visual Studio中运行代码时,它可以正常工作,但是当我在同一台计算机上运行同一项目的独立安装时,通道创建行将永远耗费时间。可能我缺少了一些东西。有人可以帮我吗?

例如,在下面的代码片段中,程序被卡在第2行中。

P.S。我也尝试过其他方法,例如创建不带通道的语音客户端等。然后程序卡在SpeechClient.create()中。

C#代码:

var credential = GoogleCredential.FromFile(cred_filepath_var).CreateScoped(SpeechClient.DefaultScopes);
var channel = new Grpc.Core.Channel(SpeechClient.DefaultEndpoint.ToString(), credential.ToChannelCredentials());
var speech = SpeechClient.Create(channel);

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,而且并没有永远等待,真正的问题是我是从没有try-catch块的Task中调用它的,因此该错误是不可见的。用try-catch块包围代码后,我发现缺少一个本机引用:“ grpc_csharp_ext.x64.dll”。将该库复制到程序文件夹即可解决此问题。