Где найти основную сборку взаимодействия (PIA) объекта данных MS ActiveX (ADOR)? - PullRequest
0 голосов
/ 24 августа 2010

Я пытаюсь создать первичную сборку взаимодействия для одного из моих проектов, который ссылается на объекты данных Microsoft ActiveX (MDAC 2.8). Добавление этой библиотеки через диалоговое окно «Ссылки» в Visual Studio добавляет файл Interop.ADOR.dll в каталог bin решения.

Однако, когда я запускаю tlbimp.exe, я получаю сообщение об ошибке:

C:\Solution> tlbimp Component.dll /out: My.Interop.Component.dll /keyfile:myKeyFile
.snk /primary

Microsoft (R) .NET Framework Type Library to Assembly Converter 3.5.30729.1
Copyright (C) Microsoft Corporation.  All rights reserved.

TlbImp : error TI0000 : System.ApplicationException - Referenced type library 'A
DOR' does not have a primary interop assembly registered.

Я не смог ничего найти в сети, что странно. Есть идеи?

1 Ответ

0 голосов
/ 24 августа 2010

Просто удалите аргумент / primary для tlbimp.exe. Нет смысла создавать PIA для ваших собственных компонентов. Лучше всего избегать делать общедоступными членов ваших классов, использующих тип ADOR, вам придется оседлать пользователя вашего компонента, если у него будет ссылка на него, и использовать ту же ADOR PIA.

Если вы действительно хотите это сделать, сначала вам нужно сгенерировать PIA для msador15.dll и зарегистрировать ее. Я уверен, что Microsoft не отправляет один. Вам также придется развернуть их.

...