Когда я проверяю драйверы OLEDB, установленные с помощью Visual Studio 2019, мне отображается, что драйвер установлен, и все работает нормально, и я могу подключиться к файлу excel, но когда я проверяю драйверы, установленные с помощью PowerShell, он не показывает меня на том же машина, и это показывает мне ошибку подключения к файлу excel. Пожалуйста, помогите мне разобраться в проблеме. Я пытаюсь вызвать функцию .net dll, которая написана с использованием С# и читает файлы excel.
Powershell не отображает драйвер Microsoft.ACE.OLEDB.12.0, установленный на локальном компьютере
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