Как сделать сборку .net видимой? - PullRequest
0 голосов
/ 28 января 2019

Я сделал библиотеку классов, которая видна в COM - но я не могу добавить ссылку на нее через COM> Библиотеки типов - вместо этого она говорит мне «добавить ссылку на сборку .net», что все хорошо иДенди, но я не могу найти сборку в списке (даже если она видна в библиотеках типов COM)

Теперь - я знаю, что могу просто добавить ссылку на весь проект и начать создавать экземпляры своих классов, ноЯ не очень хочуЯ не хочу, чтобы там был дополнительный проект с возможностью начать что-то менять в этом ссылочном проекте.

Я просто хотел бы добавить ссылку на имя его сборки - могу ли я сделать это или всегдабыть через дополнение проекта ?!Если это только через добавление проекта, тогда я могу полностью заблокировать этот проект, так как это ссылочный проект?

Ответы [ 2 ]

0 голосов
/ 28 января 2019

Вам нужно перейти в свойства -> build -> Check 'Зарегистрироваться для COM Interop'.Это подпишет и зарегистрирует ваши библиотеки классов как квалифицированную Interop COM DLL на вашем компьютере.Вы могли пропустить это

0 голосов
/ 28 января 2019

У вас есть два способа:

  1. Просто ссылайтесь на DLL, созданную из вашего проекта.Например, вы можете скопировать DLL в локальную папку проекта в вашем целевом проекте и сослаться на нее.

  2. Установите DLL, на которую ссылаются в GAC.У него должно быть строгое имя, которое рекомендуется в любом случае, и его нужно повторять для каждой новой версии DLL, поскольку GAC сохраняет копию файла, в отличие от реестра COM, который ссылается только на библиотеку и библиотеку типов.

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

Ссылка на сборку через COM делает совершенно разные вещи, то есть разрешение выполняется через CreateInstance, который ищет в реестре идентификатор класса GUID и может даже вернуть прокси на удаленный хост.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...