Visual Studio使用Gemini Pro LLM Copilot时遇System.Exception错误求助
Visual Studio 17.14.6中Gemini Pro企业版Copilot代理模式报错排查
问题描述
在Visual Studio v17.14.6中以代理模式使用Gemini Pro LLM(企业版)Copilot时,输入提示后LLM可逐步生成答案,但约5秒后触发以下异常:
[Conversations Information] Copilot auth status: OK. Copilot badge status: Active [Conversations Error] [Conversations] Unhandled exception in AskInConversationAsync: System.InvalidOperationException: Sequence contains more than one element at System.Linq.ThrowHelper.ThrowMoreThanOneElementException() at System.Linq.Enumerable.TryGetSingle[TSource](IEnumerable`1 source, Boolean& found) at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source) at Conversations.Kernel.LLMClient.StreamAsync(CopilotAPIRequest request, CopilotInteractionId interactionId, ICopilotStreamingContentSink streamTarget, CancellationToken cancellationToken)
已执行的无效排查操作:
- 清理Visual Studio缓存
- 使用简单提示重试
- 重启Visual Studio
- 重新登录Visual Studio及Copilot
- 咨询Gemini仅获通用回答
- 切换其他LLM可正常工作
- 多台机器测试结果一致
- VS Code中使用Gemini Pro无异常
怀疑点:第二台机器首次配置可正常使用,次日两台机器均出现错误。
解决步骤
- 核对代理配置
- 确保Visual Studio的代理设置(地址、端口、认证信息)与VS Code完全一致,关闭代理的连接复用、多线程转发等可能篡改数据流的选项,测试直接联网是否正常。
- 调整Visual Studio版本
- 升级至17.15及以上版本,或回退到17.14.5版本,验证是否为特定版本的兼容性bug。
- 重置Copilot配置
- 打开
工具 > 选项 > GitHub Copilot,点击重置设置,重新配置Gemini Pro企业版的API端点与授权信息,排查重复配置项。
- 打开
- 联系企业管理员核查LLM配置
- 确认企业版Gemini Pro的流式输出配置是否调整过,是否存在多段响应合并导致的数据流重复问题,要求管理员对齐VS Copilot的预期输出格式。
- 删除Copilot会话缓存
- 关闭VS后,删除
%APPDATA%\GitHub Copilot下的所有会话文件,重启后重新登录Copilot。
- 关闭VS后,删除
- 提交官方问题反馈
- 通过
帮助 > 发送反馈 > 报告问题提交错误日志、版本信息与环境细节,请求微软团队定位修复。
- 通过
内容的提问来源于stack exchange,提问作者Phillip Ngan
相关产品推荐
相关产品推荐

