Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблемы с ADODB.dll после обновления Win8.1 -> Win10 / 7 сообщений из 7, страница 1 из 1
22.06.2016, 16:39
    #39260560
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с ADODB.dll после обновления Win8.1 -> Win10
В общем есть проект VS EE 2013 (VB) Net 4.5 Debug Any CPU
В нем
Имя ссылки: Microsoft ActiveX Data Object 2.8 Library
Тип: COM
Версия: 2.8.0.0
Копировать локально: True
Путь: C:\Windows\assembly\GAC\ADODB\7.0.3300.0__b03f5f7f11d50a3a\ADODB.dll

После обновления Win8.1 -> Win10
при компиляции выдает ошибку:
------ Сборка начата: проект: <>, Конфигурация: Debug Any CPU ------
C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(2234,5): warning MSB3283: не удается найти сборку-оболочку для библиотеки типов "ADODB". Убедитесь, что (1) компонент COM правильно зарегистрирован и (2) разрядность целевой платформы совпадает с разрядностью компонента COM. Например, если компонент COM является 32-разрядным, целевая платформа не должна быть 64-разрядной.

Пошел в папку C:\Windows\assembly\GAC\ADODB\7.0.3300.0__b03f5f7f11d50a3a\ADODB.dll
Файл на месте, размер/версия те же, но дата файла изменилась на текущую 22.06.2016 (очевидно при обновлении Win).
Предыдущая дата была 12.09.14 -очевидно когда устанавливал Win8.1 и VS2013 на этот комп,
и с этой датой всегда копировалось в папку проекта,
и этот файл я поставлял вместе с приложением.

Попробовал заменить в C:\Windows\assembly\GAC\ADODB\7.0.3300.0__b03f5f7f11d50a3a\ADODB.dll на старый файл с датой 12.09.14 .
Не помогает.

Я могу конечно переиграть ссылку:
1)сослаться на ADODB.dll 12.09.14 в другом месте - не в GAC
или
2) перевыбрать Microsoft ActiveX Data Object 2.8 Library заново.

Оно конечно типа заработает.

Но.
У меня этих проектов (со ссылкой как написал) много.
То как было работало нормально вдоль и поперек (проверено).


Как сделать так чтоб ничего не менять, проекты (что есть) открывались и компилировались именно с той оберткой что была согласно ссылке что в них уже есть?
...
Рейтинг: 0 / 0
22.06.2016, 17:01
    #39260578
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с ADODB.dll после обновления Win8.1 -> Win10
делать сборку проекта для x86
...
Рейтинг: 0 / 0
22.06.2016, 17:41
    #39260628
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с ADODB.dll после обновления Win8.1 -> Win10
Konst_One,

пофиг, она именно эту ссылку (которая уже есть в проекте) не съедает, ни в AnyCPU ни в x86.

Можно убить
Имя ссылки: Microsoft ActiveX Data Object 2.8 Library
Тип: COM
Версия: 2.8.0.0
Копировать локально: True
Путь: C:\Windows\assembly\GAC\ADODB\7.0.3300.0__b03f5f7f11d50a3a\ADODB.dll

и добавить через обзор C:\Windows\assembly\GAC\ADODB\7.0.3300.0__b03f5f7f11d50a3a\ADODB.dll

Будет:
Имя ссылки: ADODB
Тип: .Net
Версия: 7.0.3300
Копировать локально: True
Путь: C:\Windows\assembly\GAC\ADODB\7.0.3300.0__b03f5f7f11d50a3a\ADODB.dll


Тогда заработает (со ссылкой на ту же "dll" что и была), но я не уверен что это правильный путь.
И каждый проект теперь "гадить"? Пока с копиями экспериментирую.

Что-то там разрегестрировалось в "системе" похоже.
И вот как это восстановить?
...
Рейтинг: 0 / 0
22.06.2016, 19:42
    #39260727
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с ADODB.dll после обновления Win8.1 -> Win10
Попробую студию "Восстановить" из "удаления программ", но не уверен что это что-то даст.
Если не выйдет, наверно придется явно перессылаться на ADODB.dll что использовал ранее (с тестированием на других машинах что ничего не переклинило).
...
Рейтинг: 0 / 0
22.06.2016, 20:50
    #39260772
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с ADODB.dll после обновления Win8.1 -> Win10
не помогло
...
Рейтинг: 0 / 0
22.06.2016, 23:20
    #39260837
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с ADODB.dll после обновления Win8.1 -> Win10
Видимо придется менять ссылку на COM:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
  <COMReference Include="ADODB">
      <Guid>{2A75196C-D9EB-4129-B803-931327F72D5C}</Guid>
      <VersionMajor>2</VersionMajor>
      <VersionMinor>8</VersionMinor>
      <Lcid>0</Lcid>
      <WrapperTool>primary</WrapperTool>
      <Isolated>False</Isolated>
      <EmbedInteropTypes>False</EmbedInteropTypes>
      <Private>True</Private>
    </COMReference>



на прямую ссылку на dll-обертку
Код: vbnet
1.
2.
3.
4.
5.
6.
    <Reference Include="ADODB, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
      <SpecificVersion>False</SpecificVersion>
      <EmbedInteropTypes>False</EmbedInteropTypes>
      <HintPath>F:\...\Interop\ADODB.dll</HintPath>
      <Private>True</Private>
    </Reference>



Вроде тоже самое.
Как "старые" так и "новые" exe "запитываются" от одной и той же adodb.dll-обертки, которая кладется в папку с exe.
Проверил на нескольких компах включая .Net2 компиляцию и XP.
Но все же переживаю насчет гарантий что это одно и то же.
Чет я внутри adodb.dll GUID-а {2A75196C-D9EB-4129-B803-931327F72D5C} не вижу
(первый вариант на 10-ке оживить не удалось).

ХЗ как это работает и почему ссылка сдохла.

То что я не один так накололся я уже понял:
Установил Win10 Появились ошибки Проект VB Expresss 2010
...
Рейтинг: 0 / 0
23.06.2016, 01:22
    #39260873
Дмитрий77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблемы с ADODB.dll после обновления Win8.1 -> Win10
Разобрался.
Код: vbnet
1.
2.
3.
[HKEY_CLASSES_ROOT\TypeLib\{2A75196C-D9EB-4129-B803-931327F72D5C}\2.8]
@="Microsoft ActiveX Data Objects 2.8 Library"
"PrimaryInteropAssemblyName"="ADODB, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"


Выделенный параметр куда-то делся из реестра при обновлении.
Восстановил, все проекты заработали как были.

Хотя очень не бьется с вот этим:
14942711

авторПри выборе COM
Microsoft ActiveX Data Objects 2.0 Library
...
Microsoft ActiveX Data Objects 2.7 Library
(любой 2.0-2.7)
В проект добавляется
Тип:.COM
Версия:2.<0-7>.0.0
Путь: C:\Windows\assembly\GAC\ADODB\7.0.3300.0_b03f5...\ADODB.dll
...
При выборе COM
Microsoft ActiveX Data Objects 2.8 Library 'ТОЛЬКО ВЕРСИЯ 2.8!!!
В проект добавляется
Тип:.COM
Версия:2.8.0.0
Путь: <Project Path>\obj\x86\Debug\Interop.ADODB.dll


Т.е. по идее этого ключа реестра для v.2.8 и не должно было быть.
Но почему-то был у меня на 8.1.
(возможно как-то исхитрился, потом об этом забыл)
Только вот какую версию ADO он реально использует...
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Проблемы с ADODB.dll после обновления Win8.1 -> Win10 / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]