You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure翻译端点示例代码在VS Code Polyglot Notebook失效,VS Pro控制台正常的原因

问题原因及解决方案

以下是几种可能导致代码在Polyglot Notebook失效但VS Pro控制台正常的核心原因,以及对应的解决方法:

1. 异步方法未正确等待

控制台应用的async Task Main会被.NET框架自动处理等待逻辑,但在Polyglot Notebook中直接调用异步的Program.Main()时,若未添加await,任务会在后台执行,单元格会提前结束,导致翻译任务未完成就返回失败。

解决方法:
在Notebook单元格中调用异步Main方法时添加await:

await Program.Main();

2. 环境配置/认证信息无法读取

控制台应用可能通过appsettings.json、环境变量或用户机密存储Azure翻译的密钥和端点,但Polyglot Notebook的运行环境与控制台隔离,无法读取这些配置,导致认证失败触发「Translation Failed」。

解决方法:

  • 临时测试时,可在代码中直接硬编码密钥和端点(注意不要提交到版本控制);
  • 确保Notebook的运行环境配置了对应的环境变量,或使用Notebook的机密管理功能存储认证信息。

3. 异常信息被隐藏

控制台应用的异常处理会将详细错误输出到控制台,但Notebook中如果仅捕获异常并返回「Translation Failed」,未输出具体异常详情,你无法看到真实错误原因(比如网络超时、密钥无效、端点配置错误等)。

解决方法:
修改代码中的异常捕获逻辑,输出完整异常信息:

catch (Exception ex)
{
    Console.WriteLine($"详细错误:{ex.ToString()}");
    // 也可在Notebook中用display直接展示异常对象
    display(ex);
    Console.WriteLine("Translation Failed");
}

4. 依赖项未正确加载

控制台应用通过NuGet安装的Azure翻译SDK(如Azure.AI.Translation.Text)在Notebook中可能未被正确引用,导致运行时找不到相关类型或方法。

解决方法:
在Notebook的代码单元格开头添加NuGet包引用指令,版本与控制台应用保持一致:

#r "nuget: Azure.AI.Translation.Text, 1.0.0" // 替换为你实际使用的版本

内容的提问来源于stack exchange,提问作者rfreytag

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 18:55:20