Где я могу найти объект объекта MS ActiveX (ADOR) Private Interpons (PIA)?

StackOverflow https://stackoverflow.com/questions/3560056

Вопрос

Я пытаюсь создать основную вспомогательную сборку для одного из моих проектов, которые ссылаются на объекты данных 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.

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

Это было полезно?

Решение

Просто отбросьте / первичный аргумент для TLBIMP.EXE. Там нет смысла генерировать Pias для ваших собственных компонентов. Создание членов ваших классов публики, которые используют тип ADOR лучше всего избежать, вы будете седите пользователю своего компонента с необходимостью иметь ссылку на него и использовать одинаковую ADOR PIA.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top