Вопрос

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

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

Это было полезно?

Решение

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

Эта статья объясняет разницу Привязка для серверов автоматизации Office с Visual C # .NET

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

Другие советы

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

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

Я считаю, что Pias по-прежнему нужно устанавливать пользователем вместе с Office.

http://netoffice.codeplex.com/

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

Dim OutlApp As Object
Dim NewEmail As Object

OutlApp = CreateObject("Outlook.Application")
NewEmail = OutlApp.CreateItem(0) 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top