Взаимодействие с 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 все еще должны быть установлены пользователем вместе с офисом.
При позднем связывании вы можете удалить любую ссылку на Office Interop dll's. У нас та же проблема, что и у вас, и это работает:
Dim OutlApp As Object
Dim NewEmail As Object
OutlApp = CreateObject("Outlook.Application")
NewEmail = OutlApp.CreateItem(0)