Взаимодействие с 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.


person kor_    schedule 21.09.2010    source источник
comment
Я думаю, что вы можете установить Office 2k3 и 2010 в одной системе; Я знаю, что 2k3 и 2k7 отлично работали вместе   -  person Andrew Barber    schedule 21.09.2010


Ответы (3)


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

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

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

person Hans Olsson    schedule 21.09.2010

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

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

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

http://netoffice.codeplex.com/

person hefner    schedule 07.01.2014

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

Dim OutlApp As Object
Dim NewEmail As Object

OutlApp = CreateObject("Outlook.Application")
NewEmail = OutlApp.CreateItem(0) 
person podpolanec    schedule 21.01.2014