#c# #activex #visual-studio-2015
#c# #activex #visual-studio-2015
Вопрос:
У меня есть проект Visual Studio Community 2015, который работал должным образом, пока я не попытался создать пакет MSI с ним. Похоже, что одна из ссылок на библиотеку ActiveX изменилась на тип Assembly, и я не могу понять, как изменить ее обратно. Поле свойств не редактируется. На другом компьютере проект работает просто отлично (поскольку ссылка имеет тип файла «ActiveX»).
Комментарии:
1. Скриншот был бы полезен
2. Хм, ты уже некоторое время возишься. Похоже, что в конечном итоге вы добавили результат сборки (сгенерированную сборку взаимодействия) с другого компьютера через копию OneDrive. Обратите внимание на имя папки obj / x86 /Debug. Странно, почему вы нам ничего не говорите об этом, вы вообще не помогаете нам помогать вам. Слепое предположение заключается в том, что вы сделали это просто потому, что COM-компонент не установлен на этом компьютере. Запустите программу установки поставщика.
Ответ №1:
Похоже, ActiveX не зарегистрирован на вашем компьютере. Найдите DLL и затем зарегистрируйте ее с помощью команды «regsvr32.exe nameofdll.dll » из командной строки. Если все идет хорошо, Windows должна сказать «DllRegisterServer в nameofdll.dll удалась «. Теперь перезагрузите проект.
Комментарии:
1. Получаю сообщение об ошибке «Имя модуля ofdll. библиотека dll была загружена, но точка входа DllRegisterServer найдена не была. Убедитесь, что nameofdll. dll является допустимым файлом DLL или OCX, а затем повторите попытку»
2. запустите
dumpbin /exports mydll.dll
и подтвердите, что вы видите функцию DllRegisterServer. Если нет, то ваша DLL не является COM. Согласно комментарию Ханса, существует ли установщик? Еслиdumpbin
верните, что функция существует, то убедитесь, что на вашем компьютере нет дубликата dll.