Powershell не отображает драйвер Microsoft.ACE.OLEDB.12.0, установленный на локальном компьютере

Когда я проверяю драйверы OLEDB, установленные с помощью Visual Studio 2019, мне отображается, что драйвер установлен, и все работает нормально, и я могу подключиться к файлу excel, но когда я проверяю драйверы, установленные с помощью PowerShell, он не показывает меня на том же машина, и это показывает мне ошибку подключения к файлу excel. Пожалуйста, помогите мне разобраться в проблеме. Я пытаюсь вызвать функцию .net dll, которая написана с использованием С# и читает файлы excel. введите здесь описание изображения

введите здесь описание изображения


person Mohan Sharma    schedule 19.04.2021    source источник
comment
Может быть проблема с разрядностью (32 против 64). Взгляните на этот вопрос, особенно вам может помочь второй ответ   -  person Theo    schedule 19.04.2021
comment
@Theo Когда я собрал сборку в x86, powershell вообще не смог загрузить сборку. Исключение при вызове LoadFile с 1 аргументом (аргументами): не удалось загрузить файл или сборку «abc.dll» или одну из ее зависимостей. не является приложением Win32. (Исключение из HRESULT: 0x800700C1)   -  person Mohan Sharma    schedule 19.04.2021


Ответы (1)


С помощью комментария Тео моя проблема была решена после того, как я собрал все сборки как x86 в Visual Studio, а затем открыл 32-битную PowerShell, размещенную в C:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe. Только 32-битный powershell сможет загружать 32-битные сборки. Также 32-битный powershell показывал, что драйверы установлены. введите здесь описание изображения

person Mohan Sharma    schedule 19.04.2021