找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 4388|回复: 8

为什么会报“80040154 没有注册类”

  [复制链接]
发表于 2022-1-23 13:42:26 | 显示全部楼层 |阅读模式
悬赏20金币未解决
本帖最后由 jy00257874 于 2022-1-23 13:47 编辑

复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.InteropServices;

using UFIDA.U8.MomServiceCommon;
using UFIDA.U8.U8MOMAPIFramework;
using UFIDA.U8.U8APIFramework;
using UFIDA.U8.U8APIFramework.Meta;
using UFIDA.U8.U8APIFramework.Parameter;
using MSXML2;

namespace Hermes
{
    public class Comm

    {
        public string connect(string msg)
        {
            Console.WriteLine(msg);
            U8Login.clsLogin u8Login = new U8Login.clsLogin();
            String sSubId = "AS";
            String sAccID = "(default)@001";
            String sYear = "2021";
            String sUserID = "demo";
            String sPassword = "demo1";
            String sDate = "2021-11-11";
            String sServer = "192.168.0.195";
            String sSerial = "";
            if (!u8Login.Login(ref sSubId, ref sAccID, ref sYear, ref sUserID, ref sPassword, ref sDate, ref sServer, ref sSerial))
            {
                Console.WriteLine("登陆失败,原因:" + u8Login.ShareString);
                return "";
            }
            return "";
        }
    }
}

  1. 异常信息如下:System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {72A6FADA-FE26-46BD-A921-BFD1179C1E1E} failed due to the following error: 80040154 没有注册类 (0x80040154 (REGDB_E_CLASSNOTREG)).
  2.    at System.RuntimeTypeHandle.AllocateComObject(Void* pClassFactory)
  3.    at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean wrapExceptions)
  4.    at System.Activator.CreateInstance(Type type, Boolean nonPublic, Boolean wrapExceptions)
  5.    at System.Activator.CreateInstance(Type type)
  6.    at Hermes.Comm.connect(String msg) in E:\cpj\Hermes\Comm.cs:line 23
  7.    at Program.<Main>$(String[] args) in E:\cpj\debug\Program.cs:line 5
复制代码


 楼主| 发表于 2022-1-24 09:15:16 | 显示全部楼层
有没有人帮一下忙啊,一天时间没得什么思路,我做java的,对c#不熟啊,网上说的注册和用x86都试过了,不行
回复

使用道具 举报

发表于 2022-5-19 16:04:11 | 显示全部楼层
我看看
回复

使用道具 举报

发表于 2022-6-10 13:12:22 | 显示全部楼层
不懂,来看看
回复

使用道具 举报

发表于 2022-9-1 16:22:10 | 显示全部楼层
感谢楼主,学习!
回复

使用道具 举报

发表于 2023-3-27 19:55:50 | 显示全部楼层
“80040154 没有注册类”是一个常见的 Windows 错误代码,通常表示您尝试访问的 COM 组件没有正确地在系统中注册。这可能是由于以下原因之一导致的:

1. 该组件未被安装或已损坏。
2. 注册表中存在错误或丢失的信息。
3. 使用32位应用程序时,在64位操作系统上运行。

要解决此问题,可以尝试以下步骤:

1. 确认该组件是否已正确安装,并检查其版本和兼容性。
2. 执行“regsvr32”命令重新注册该组件。打开命令提示符窗口(管理员权限),输入“regsvr32 文件路径”,其中文件路径为需要重新注册的COM组件所在位置。
3. 如果使用32位应用程序,请确保它们与操作系统架构相匹配。

如果以上方法都无法解决问题,则建议联系软件供应商或技术支持团队以获取更多帮助。
回复

使用道具 举报

发表于 2023-6-5 09:34:22 | 显示全部楼层
谢谢分享!
回复

使用道具 举报

  • 打卡等级:偶尔看看
  • 打卡总天数:58
  • 打卡月天数:21
  • 打卡总奖励:291
  • 最近打卡:2024-11-21 07:21:19
发表于 2023-7-3 16:00:06 | 显示全部楼层
感谢分享!!
回复

使用道具 举报

发表于 2024-9-3 15:00:06 | 显示全部楼层
感谢楼主分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-11-21 17:41 , Processed in 0.071630 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表