Ошибка: "Неправильный формат компоненты" при подключении dll

Автор bionorica2015, 19.01.25, 12:07:05

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

bionorica2015

Здравствуйте.
Версия Компаса v16.
Используя видеоурок "https://youtu.be/c5ilCwqflQU?si=fdJJuzFZ17omeUnf" создал dll файла C:\Program Files\ASCON\KOMPAS-3D V16\SDK\C#\Automation\Step1.cs через cmd:
"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe" /target:library /r:Kompas6API5.dll,KAPITypes.dll Step1.csПри подключении в Компас 3д выходит такая ошибка:

Дмитрий22


Lemieux

Цитата: Дмитрий22 от 19.01.25, 19:20:33Библиотеку (dll), написанную на C#, нужно регистрировать:

https://forum.ascon.ru/index.php/topic,23942.msg202778.html#msg202778
Будет другое сообщение. Но, я наверное открою секрет, КОМПАС сам умеет регистрировать библиотеки.

Дмитрий22

Цитата: Lemieux от 20.01.25, 08:23:37Будет другое сообщение. Но, я наверное открою секрет, КОМПАС сам умеет регистрировать библиотеки.

Я считал до этого момента, что только на Паскале и С++ умеет, а на C# dll нужно регистрировать вручную. Научите, пожалуйста.

Lemieux

Цитата: Дмитрий22 от 20.01.25, 08:28:07Я считал до этого момента, что только на Паскале и С++ умеет, а на C# dll нужно регистрировать вручную. Научите, пожалуйста.
Я делаю так - реализую интерфейс IKompasLibrary, запускаю КОМПАС от админа, добавить приложение, ActiveX, ищу dll, добавляю.

Кстати, если делать приложение Addin, то и на С++ надо регать. Как я понял, исторически сложилось, что на С++ были примеры где не надо регать, а на С# надо регать. Вроде и на C# можно написать dll, которую вообще не надо регать, просто надо будет объект КОМПАС получать по своему. Тут ещё есть интересная тема плагинов для КОМПАС, OCX.

Дмитрий22

Код можно в студию, как Вы реализуете интерфейс?

Lemieux

Цитата: Дмитрий22 от 20.01.25, 10:04:33Код можно в студию, как Вы реализуете интерфейс?
Наследуюсь от интерфейса IKompasLibrary, VS мне предлагает автоматически реализовать методы из интерфейса. Вроде всё просто.
+ Благодарностей: 1