当前位置: 首页 > 知识库问答 >
问题:

80040154类未注册(HRESULT的例外:0x80040154(REGDB_E_CLASSNOTREG))

包建义
2023-03-14

Microsoft. S中出现类型为System. Runtime. InteropServices. COMExctive的未处理异常peech.dll

其他信息:检索CLSID为{49428A60-C997-4D0E-9808-9E326C178D58}的组件的COM类工厂失败,原因是以下错误:80040154类未注册(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))。

我以下是Microsoft语音平台SDK 11的MSDN示例:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using Microsoft.Speech;
using Microsoft.Speech.Recognition;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            SpeechRecognitionEngine sre = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US"));                        ======>>**ERROR** 
            sre.SetInputToWaveFile(@"c:\Test\Colors.wav");
            Choices colors = new Choices();
            colors.Add(new string[] { "red", "green", "blue" });

            GrammarBuilder gb = new GrammarBuilder();
            gb.Append(colors);

            Grammar g = new Grammar(gb);
            sre.LoadGrammar(g);

            // Register a handler for the SpeechRecognized event.
            sre.SpeechRecognized +=
              new EventHandler<SpeechRecognizedEventArgs>(sre_SpeechRecognized);

            // Start recognition.
            sre.Recognize();

            sre.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sre_SpeechRecognized);
        
        }

        private void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
        {
            MessageBox.Show("Speech recognized: " + e.Result.Text);
        }

       
    }
}

共有2个答案

吕俊哲
2023-03-14

在我的例子中,它也帮助安装了微软语音平台运行时。尽管我已经安装了语音软件开发工具包和Kinect软件开发工具包。

酆茂才
2023-03-14

听起来您只安装了64位版本的Speech Platform运行时,而不是32位版本。

 类似资料:
  • 我有一个在VisualStudio2008中运行的项目。当我尝试在visual studio 2012中(在另一台计算机上)转换项目时,出现以下错误: 类未注册(HRESULT的例外:0x80040154(REGDB_E_CLASSNOTREG)) 我已经包括了所有的参考资料,不知道我错在哪里。我有一个参考是第三方。dll-它有一个前缀ax。我还提到了AxInterop。MSCommLib。dll

  • 我已经成功使用Debenu PDFLibrary一段时间了。我决定将库更新到最新版本(DebenupdLibrary64Lite113.dll)。就在那时,一切都偏离了正轨。 我遵循安装说明,包括注册DLL。注册过程没有产生错误。注册表包含下面所示的CLSID。 我的环境是64位视窗8.1专业版。NET 4.5.1框架。所有更新都已安装。开发环境是Visual Basic。使用VS 2013社区版

  • 我的公司正在开发一个利用博世视频SDK的应用程序。我已经在我的安装项目中包含了所需的DLL文件,我相信它们在我的项目安装时正在注册,但我在运行时遇到了“未注册类”错误。。 我怀疑我的问题来自这样一个事实,即这个应用程序是在x64中编译的,并且使用BOSCH视频软件开发工具包中的64位DLL。这是有意的,我们绝对希望它以64位模式安装和运行。 确切的错误消息是“由于以下错误,为CLSID为{D12F

  • 我有一个UWP应用程序,我想与另一个程序(有线广播)接口。Wirecast建议的方法是调用以下代码: 当我从UWP应用程序调用此代码时,我得到以下错误: 系统运行时。互操作服务。COMException:“使用CoCreateInstanceFromApp创建CLSID为{A416C15B-A073-4994-8DB5-87527A41B2FA}的COM组件实例失败,原因是以下错误:8004015

  • 在64位计算机上运行Visual Studio 2012应用程序时,会显示以下错误消息: 由于以下错误,检索CLSID为{F2D4F4E5-EEA1-46FF-A83B-A270C92DAE4B}的组件的COM类工厂失败:80040154类未注册(HRESULT的异常:0x80040154(REGDB_E_CLASSNOTREG)) 我正在visualstudio中使用Inventor packa

  • 如何解决下面的错误。在运行时获取时发生此错误。 由于以下错误,检索CLSID为{000209FF-0000-0000-C000-0000000000 46}的组件的COM类工厂失败:80040154类未注册(HRESULT异常:0x80040154(REGDB_E_CLASSNOTREG))。 代码:此代码用于将word转换为pdf文档文件。我在这一行遇到了错误。