Сообщество программистов Autodesk в СНГ

ADN Club => Inventor API => Тема начата: Nickolaev_P от 18-06-2021, 10:22:48

Название: ApprenticeServerComponent. "Не удалось получить фабрику класса ..."
Отправлено: Nickolaev_P от 18-06-2021, 10:22:48
Добрый день!
Пытаюсь создать объект ApprenticeServerComponent
Но в момент создания, программа выдает ошибку:
System.IO.FileNotFoundException: "Не удалось получить фабрику класса COM для компонента с CLSID {C343ED84-A129-11D3-B799-0060B0F159EF} из-за следующей ошибки: 8007007e Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E)."
Код - C# [Выбрать]
  1. void InitAppServer()
  2. {
  3.     ApprenticeServerComponent oApprentice = new ApprenticeServerComponent();
  4. }

Подскажиет пожалуйста, может кто сталкивался с такой проблемой?
как решить такую проблему?
Название: Re: ApprenticeServerComponent. "Не удалось получить фабрику класса ..."
Отправлено: mikazakov от 18-06-2021, 12:17:59
апрентис нужно компилировать только как 64-битное приложение, переключите вижуал студио на 64-ех битную компиляцию должно заработать
Название: Re: ApprenticeServerComponent. "Не удалось получить фабрику класса ..."
Отправлено: Nickolaev_P от 21-06-2021, 10:11:29
Большое спасибо!
Сработало!
апрентис нужно компилировать только как 64-битное приложение, переключите вижуал студио на 64-ех битную компиляцию должно заработать
Название: Re: ApprenticeServerComponent. "Не удалось получить фабрику класса ..."
Отправлено: Nickolaev_P от 01-08-2022, 21:19:57
Всем доброго времени суток!
В продолжении данной темы!
Создаю addin для Inventor. В нем, пытаюсь запустить ApprenticeServerComponent.
Код - C# [Выбрать]
  1. try
  2. {
  3.    InventorApprentice.ApprenticeServerComponent oApprentice = new InventorApprentice.ApprenticeServerComponent();
  4. }
  5. catch (Exception ex)
  6. {
  7.    MessageBox.Show(ex.Message);
  8. }
Но в выходит ошибка: "Не удалось получить фабрику класса COM для компонента с CLSID {C343ED84-A129-11D3-B799-0060B0F159EF} из-за следующей ошибки: 80070057 Параметр задан неверно. (Исключение из HRESULT: 0x80070057 (E_INVALIDARG))."
Проект в VS выставлен как 64битная библиотека классов
Скажите пожалуйста, как решить данную ошибку?
Название: Re: ApprenticeServerComponent. "Не удалось получить фабрику класса ..."
Отправлено: mikazakov от 02-08-2022, 03:43:34
Там в хэлпе написано, что нельзя запускать апрентис-сервер из под ЭддИна. Не совмести мы эти вещи.
Чтобы апрентисом пользоваться из под ЭддИна нужно апрентис запускать отдельным процессом и обмениваться с ним данными. В С# для этого инструменты есть