Нужно ли устанавливать на компьютере сборки Microsoft Office 2007? - PullRequest
9 голосов
/ 16 февраля 2012

В наше приложение добавлена ​​функциональность, позволяющая пользователям импортировать определенную информацию из электронной таблицы Excel (у всех пользователей уже будет Office 2007).

На машине разработчика установлен Office 2007, и разработчик добавил ссылку на Microsoft.Office.Interop.Excel - все было хорошо.

Однако на сборочном компьютере не установлен Office 2007. Когда сборка запускается на компьютере сборки, мы получаем следующую ошибку сборки: «Тип или имя пространства имен« Office »не существует в пространстве имен« Microsoft »(отсутствует ссылка на сборку?)»

Я загрузил Основные сборки Office 2007, которые можно распространять . Но когда я запускаю этот msi на сборочной машине, я получаю сообщение: «Пожалуйста, установите Microsoft Office 2007 перед установкой этого продукта»

Действительно ли необходимо установить Office 2007 на сборочный компьютер? Есть ли другой способ обойти это?

Ответы [ 3 ]

12 голосов
/ 17 февраля 2012

Убедитесь, что сборка Microsoft.Office.Interop.Excel зарегистрирована с исходным кодом, а проект VS ссылается на него из дерева исходных текстов, а не из GAC.

После того, как это будет сделано, обязательно сделайтене нужно устанавливать MS Office на сборочном компьютере, но он понадобится для запуска приложения.

1 голос
/ 17 февраля 2012

Просто попросите ваших разработчиков проверить все зависимости dll. Это явный случай «он работает на моей машине», когда вам нужно перетащить разработчиков на машину, где она не работает, и указать, что их документация отсутствует в «отделе зависимостей». Если у вас есть доступ к исходному коду или вы можете запустить ILSpy на сборках, вы можете отследить это самостоятельно.

Безопасная ставка заключается в том, что вы просто устанавливаете Excel, но это решает проблему с кувалдой. Ваши разработчики ДОЛЖНЫ знать, что действительно нужно .....

0 голосов
/ 16 февраля 2012

Да, у вас должен быть установлен Excel на всех машинах, на которых вы хотите запустить приложение.

...