Взаимодействие с Office 2003 только с установленным Office 2010

У нас есть приложение (.NET 2.0), которое использует функции Outlook 2003 (библиотека объектов Microsoft Office 11.0). На моем новом компьютере установлены Windows 7 и Office 2010, и ссылки больше не работают (доступна только библиотека объектов Office 14).

Есть ли способ использовать библиотеки Office 2003 при установке Office 2010 (я слышал, что 2003 и 2010 не могут быть установлены на одном компьютере)? Я пытался установить "Распространяемые основные сборки взаимодействия" для Office 2003, но не смог сделать это без установленного Office 2003.

3 ответа

Решение

Вместо того, чтобы ссылаться на конкретную версию библиотеки, используйте позднюю привязку. Таким образом, вы можете разрабатывать против одной версии, но пока вы придерживаетесь общей функциональности, она будет работать и в других версиях.

В этой статье объясняется разница Binding для серверов автоматизации Office с Visual C# .NET

Может быть проще выполнить разработку с использованием раннего связывания, чтобы вы получили Intellisense, а затем удалили ссылки позже (что займет немного времени. Если это того стоит, то немного зависит от уровня ваших навыков в разработке Office.

Я сомневаюсь, что у kor_ все еще есть эта проблема, но мне было трудно найти помощь по этому вопросу.

У меня была похожая проблема, и я нашел NetOffice после долгих поисков. Это оболочка для COM-объекта, так что вы можете получить совместимость с поздним связыванием без необходимости изменения кода.

Я считаю, что PIA все еще должны быть установлены пользователем вместе с офисом.

http://netoffice.codeplex.com/

При позднем связывании вы можете удалить любую ссылку на Office Interop dll's. У нас та же проблема, что и у вас, и это работает:

Dim OutlApp As Object
Dim NewEmail As Object

OutlApp = CreateObject("Outlook.Application")
NewEmail = OutlApp.CreateItem(0) 
Другие вопросы по тегам