无法加载外部 ruleref Microsoft Speech Grammar

Posted

技术标签:

【中文标题】无法加载外部 ruleref Microsoft Speech Grammar【英文标题】:Can't load external ruleref Microsoft Speech Grammar 【发布时间】:2012-08-22 22:38:16 【问题描述】:

我正在使用 Microsoft Speech API 来执行语音识别。

在我使用外部规则引用之前一切都很好(根据http://msdn.microsoft.com/en-us/library/hh361619)

<grammar version="1.0" xml:lang="fr-FR" mode="voice" root="ruleCalendar" xmlns="http://www.w3.org/2001/06/grammar" tag-format="semantics/1.0">
  <rule id="ruleAddEvent">
    <item>Hello</item>
    <ruleref uri="#world" />
  </rule>
</grammar>

工作正常,但如果我用外部文件替换 ruleref,识别器会在 RecognizeCompleted 事件上循环并且似乎匹配任何内容。

    <ruleref uri="other.xml#world" />
我试图引用一个非常简单的文件 我尝试引用 cmnrules.cfg 我尝试设置绝对路径 文件上升解析错误如果我放错了 如果我像 other2.xml 这样在 ruleref 中输入错误的值,它仍然会循环

C#代码在这里 l.75: https://github.com/JpEncausse/WSRMacro/blob/master/WSRMacro/WSRMacro.cs

我认为它没有找到由 ruleref 定义的文件。

是否在相对路径中搜索? 有没有办法设置默认语法目录?

【问题讨论】:

这似乎是一个 COMException: 0x80045024 对无法解析的导入语法的规则引用。 还发现了这个描述:bliny.net/blog/post/… 【参考方案1】:

根据previous comment,这似乎是一个已知的错误......

【讨论】:

以上是关于无法加载外部 ruleref Microsoft Speech Grammar的主要内容,如果未能解决你的问题,请参考以下文章

无法加载文件或程序集“Microsoft.ReportViewer.WebForms”

无法加载文件或程序集 Microsoft.CodeAnalysis

无法加载文件或程序集“Microsoft.Windows.Design.Host,

无法加载文件或程序集“Microsoft.Data.Edm”

无法加载 Microsoft.SqlServer.BatchParser 或其依赖项之一

无法加载文件或程序集“Microsoft.SqlServer.DTSRuntimeWrap”