ADODB 2.7 Ссылка на COM больше не зарегистрирована в VS2012 - PullRequest
0 голосов
/ 19 сентября 2018
  • Visual Studio 2012
  • VB.Net
  • .NET 4.0
  • Сборочная машина x64
  • Сборка конфигурации AnyCPU
  • msado27.tlb

Этот проект не является новым и был построен 100 раз за последние 2 года.За последние 3 недели что-то изменилось, и ссылка COM на библиотеку Microsoft ActiveX Data Objects 2.7 больше не может быть зарегистрирована.Когда я пытаюсь повторно выбрать его из доступных записей COM, он становится видимым и выбираемым.

Список ссылок Com *

После выбора вы можете увидеть желтый треугольник

узел ссылочного дерева с желтым треугольником

Затем, просматривая его через его свойства, вы можете увидеть, что путь не отображается.

ссылочные свойства

При просмотре через свойства проекта -> ссылки на него отображаются

ссылки на свойства проекта

Если я выберу более новую версию, например 2.8,6.0 или 6.1 они будут регистрироваться.Однако, если я выберу более старый 2.5, он будет действовать точно так же.

Любые предложения или теории относительно того, что может произойти, или как проверить, действительно ли .dll в GAC или Первичной сборке взаимодействия имеет определения и / или реализацию дляверсия 2.7?

И, кстати, я понимаю, что это очень старая версия, но этот текущий проект .Net имеет дополнительные ссылки / зависимости COM, которые зависят от этой конкретной версии, и я не могу переключиться наболее новая версия в настоящее время.

1 Ответ

0 голосов
/ 19 сентября 2018

Ну, после тяжелого дня и большого количества потраченного времени я решил пойти по пути перерегистрации типов снова, используя regasm, который, как я не думал, действительно имел шанс решить проблему.Низкий, и вот в чем проблема.

Исправление для меня ...

  1. Откройте консоль разработчика для VS2012 от имени администратора
  2. Перейдите в область GAC для своего adodb.dll @% windir%/assembly/gac/adodb/7.0.3300.0__b03f5f7f11d50a3a
  3. Затем выполните команду "regasm adodb.dll", и вы должны получить сообщение "Типы зарегистрированы успешно"
  4. Возврат к VS2012 и все текущиессылки на

Примечание: Ранее при просмотре значений реестра для библиотек типов, найденных в файле adodb.dll, я заметил, что версия, которая не будет регистрироваться в VS (2.7, 2.6 и 2.5) НЕ имели значения Primary Interop Assembly для этих ключей, как в более новых версиях.После запуска regasm эти значения были добавлены для более старых версий.

Показывает информацию о первичной сборке взаимодействия для v2.7 после запуска regasm

...