Проблема сборки Microsoft.Office.Interop - PullRequest
2 голосов
/ 13 декабря 2010

Я недавно выпустил клиентское приложение, построенное в Visual Studio 2010, и, похоже, оно использовало более новые библиотеки, чем в предыдущем выпуске, и вызывает ошибки. Я свел проблему к такому импорту: Импортирует Microsoft.Office.Interop. Есть ли способ использовать этот импорт и поддерживать несколько версий?

Вот ошибка:

Невозможно установить или запустить приложение. Заявка требует эта сборка Microsoft.Office.Interop.Outlook Версия 11.0.0.0 должна быть установлена ​​в Сначала - глобальный кэш сборок (GAC).

В качестве возможного, но не проверенного решения я обнаружил распространяемые первичные сборки взаимодействия: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=59daebaa-bed4-4282-a28c-b864d8bfa513&displaylang=en, но я нервничаю, что обновление может вызвать ошибки в старых приложениях Windows. Вы сказали бы, что связать это с установщиком будет безопасно?

Ответы [ 2 ]

4 голосов
/ 13 декабря 2010

Да, Office 2003 PIA решит вашу проблему. Очевидно, что он не установлен, поэтому нет никаких причин бояться, что вы что-нибудь сломаете.

Другой способ - не использовать PIA, довольно редко на самом деле он нужен. Откройте узел Ссылка в окне обозревателя решений, выберите ссылку Outlook. В окне «Свойства» установите для параметра «Копировать локально» значение «Истина». Построить. Вы получите библиотеки взаимодействия (office.dll и microsoft.office.interop.outlook.dll) в каталоге сборки. Разверните их вместе со своими сборками.

0 голосов
/ 13 декабря 2010

Ссылка, предоставленная вами, предназначена для Office 2007 PIA, которая ссылается на версию 12.0, а не на ту версию, которую требует ваше приложение.

Вместо этого вы должны использовать:

Обновление Office 2003: распространяемые первичные сборки взаимодействия

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...