Недавно я перешел с 32-разрядной на 64-разрядную версию ПК, на котором установлена 32-разрядная версия пакета Office.

У меня есть приложение (.net 4.0), которое обрабатывает файлы Excel и использует Microsoft.ACE.OLEDB.12.0. (Я установил Microsoft Access Database Engine 2010 , чтобы сделать это.) Но так как я перешел на 64-битную версию, этот обработчик файлов появляется с ошибкой ниже.

Затем я обнаружил, что это потому, что 32-разрядная версия Access Database Engine, поэтому я попытался установить 64-разрядную версию Access Database Engine, которая не позволяет мне, так как у меня есть 32-разрядная версия офисного продукта.

Есть ли какая-то работа вокруг этого, кроме использования 64-битного продукта Office?

1 ответ1

2

Когда вы компилируете приложение как AnyCPU, программа будет работать как 32-битная на 32-битной и как 64-битная на 64-битной Windows. И когда у вас установлен только 32-битный движок, вы получаете сообщение об ошибке. Также параллельная установка 32-битного и 64-битного движка не поддерживается.

Решение состоит в том, чтобы явно скомпилировать приложение как x86 (32Bit). Теперь он все время работает как 32-битное приложение и использует 32-битный движок.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .