Member 14370529 Ответов: 1

Я инициализирую сеанс COM В C#


Я инициализирую сеанс

session.Init("", "XX", "XX001", "62");

но я получаю ниже ошибку

System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID 
{13898C04-C674-4B4E-B5C0-D78AF3E566CA} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
   at ACCPAC.Advantage.Server.Session..ctor(Int32 key)
   at ACCPAC.Advantage.Session.Init(String objectHandle, String appID, String programName, String appVersion)
   at ITS.Accpac.Components.AccpacBase.ProcessInvoices() in c:\IBS_Dev\ITSAccpacBillingConsoleApp1\ITS.Accpac\Components\Base\AccpacBase.cs:line 372}


Что я уже пробовал:

Я попытался изменить целевую платформу на x86

Richard MacCutchan

Сообщение понятно; система не может найти регистрационную запись для класса, к которому вы пытаетесь подключиться.

Member 14370529

@Richard MacCutchan, есть идеи, как я могу решить эту проблему?

phil.o

Да: определите библиотеку dll, которая должна быть зарегистрирована, а которая нет, и зарегистрируйте ее. Или обратитесь за поддержкой к редактору продукта, который вы пытаетесь использовать.

1 Ответов

Рейтинг:
2

Dave Kreskowiak

Он пытается сообщить вам, что библиотека, которую вы пытаетесь использовать, не установлена на компьютере.

Либо это, либо что-то не так с вашей установкой, где она не может создать экземпляр класса, который вы пытаетесь использовать. Возможно, отсутствует зависимость (например, среда выполнения C++) или необходимо изменить разрешения для учетной записи, выполняющей код.

Ваш лучший источник информации по этой проблеме-это люди, которые написали библиотеку.