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

Blazor Server部署Azure语音服务遇DllNotFoundException求助

部署Azure认知服务语音SDK时DLL缺失问题解答

为何仅部署环境报错?

  • 本地开发环境中,Visual Studio会自动处理NuGet包的依赖复制:安装Microsoft.CognitiveServices.Speech包后,VS会把包含Microsoft.CognitiveServices.Speech.core.dll在内的原生依赖文件,根据项目架构(x86/x64)复制到输出目录,所以本地运行时能正常加载这些文件。但部署时如果只手动复制了Microsoft.CognitiveServices.Speech.csharp.dll这个托管DLL,漏掉了原生核心DLL,就会触发缺失错误。
  • 另外,本地可能通过全局安装、SDK缓存等方式存在这些原生依赖,而虚拟机是干净环境,没有这些额外的文件支撑。

为何程序寻找Microsoft.CognitiveServices.Speech.core.dll?

这不是找错了文件,是正常的依赖逻辑:

  • Microsoft.CognitiveServices.Speech.csharp.dll是托管层封装,真正的语音识别、合成等核心功能实现都在Microsoft.CognitiveServices.Speech.core.dll这个原生DLL里。托管DLL通过P/Invoke调用原生库的接口,所以运行时必须找到这个核心DLL才能正常工作。

快速解决建议

  • 检查NuGet包属性:右键项目中的Microsoft.CognitiveServices.Speech包,确保Copy Local设置为True,这样构建时所有依赖的原生文件会自动复制到输出目录。
  • 部署时完整复制输出目录:不要只选托管DLL,输出目录里的所有文件(包括x86/x64子目录下的原生DLL)都要同步到虚拟机。
  • 确认架构匹配:虚拟机的系统架构(x86/x64)要和项目的目标架构一致,否则会因为架构不匹配找不到对应版本的DLL。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 14:01:26