C#中的谷歌云语音,在nuget依赖项方面遇到问题

C#中的谷歌云语音,在nuget依赖项方面遇到问题,c#,.net,google-cloud-platform,nuget,C#,.net,Google Cloud Platform,Nuget,我遇到了一个非常令人困惑的问题,试图让谷歌云语音识别系统在C#上运行。在过去,我曾运行过这个程序,但现在我似乎重新考虑在.NETFramework4.6.1中为它制作一个控制台应用程序,我遇到了一个依赖性问题 代码如下: public class googleVoiceRecognition { public static SpeechRecognitionAlternative[] SyncRecognize(string filepath) { try

我遇到了一个非常令人困惑的问题,试图让谷歌云语音识别系统在C#上运行。在过去,我曾运行过这个程序,但现在我似乎重新考虑在.NETFramework4.6.1中为它制作一个控制台应用程序,我遇到了一个依赖性问题

代码如下:

public class googleVoiceRecognition
{
    public static SpeechRecognitionAlternative[] SyncRecognize(string filepath)
    {
        try
        {
            var speech = SpeechClient.Create();
            var response = speech.Recognize(new RecognitionConfig
            {
                Encoding = RecognitionConfig.Types.AudioEncoding.Linear16,
                SampleRateHertz = 16000,
                LanguageCode = "en-US"
            }, RecognitionAudio.FromFile(filepath));


            foreach (var result in response.Results)
                foreach (var alternative in result.Alternatives)
                {
                    var newAlternatives = result.Alternatives;

                    try
                    {
                        var _orderNewAlternatives = (from alt in newAlternatives
                                                     select alt).OrderByDescending(c => c.Confidence);

                        var args = new List<string>();
                        foreach (var _alternative in _orderNewAlternatives)
                        {
                            args.Add(_alternative.Transcript);
                        }
                        if (args.Count > 0)
                            File.WriteAllLines(Environment.CurrentDirectory + "\\heard.txt", args.ToArray());
                        return _orderNewAlternatives.ToArray();
                    }
                    catch (Exception e)
                    {
                        SpeechRecognitionAlternative[] sys = { alternative };
                        return sys;
                    }

                    //return alternative.Transcript;
                }
            return null;
        }
        catch (Exception i)
        {

            return null;
        }
        return null;
    }
现在这里是它变得非常混乱的地方,我不能降级到版本4.1.0,因为google.api.Gax需要比版本4.1.0更高的东西。我试着降低Gax的等级,但是Gax.Grpc也需要一个特定版本的Gax。我迷失在该做什么,我尝试删除所有依赖项,它阻止了我做什么,更新一切也不起作用

除此之外,该代码工作正常,因为它是较旧的代码


谢谢

尝试在Nuget Package Manager控制台中使用以下命令刷新您对Google软件包的依赖关系:

PM> get-package -ProjectName <your-project-name> | Where {$_.Id -match "Google.*|Grpc.*" } | Uninstall-Package -Force
PM> Install-Package Google.Cloud.Speech.V1
PM>get-package-ProjectName |其中{$|Id-match“Google.*| Grpc.*}|卸载包-Force
PM>安装包Google.Cloud.Speech.V1

能否将整个项目(.csproj、.packages、所有文件)发布到github或其他我可以检查的地方?我试着创建一个Framework4.6应用程序并调用SpeechAPI,它成功了:所以基本上我玩了一段时间,认为这是一个与另一个google cloud nuget依赖项的兼容性问题。我建立了一个快捷方式并建立了一个二级项目来管理这个部分。我相信这只是在演讲中,因为视觉和翻译结合在一起是很好的,除非我在演讲中加入。@Parkerbidgare:如果你能用一个最小的例子更新你的问题(可能包括项目文件中不兼容的包,以及一个刚刚发出请求的小型控制台应用程序),那就太好了。
PM> get-package -ProjectName <your-project-name> | Where {$_.Id -match "Google.*|Grpc.*" } | Uninstall-Package -Force
PM> Install-Package Google.Cloud.Speech.V1