В чем разница между Microsoft.Office.Interop.* Версии 12 и 14?

Я установил Visual Studio 2010 и Office 2007. Когда я иду в "Добавить ссылку" и ищу "Office Interop", я вижу, что каждая из ссылок появляется дважды с версиями 12 и 14.

Я изначально пробовал 14 версию Microsoft.Office.Interop.Word и сделал быстрый тест. Инициализируйте приложение, откройте документ, закройте документ, выйдите из приложения и освободите объект COM. Мой тест был простой программой WinForms на C# 4.0.

Сбой WINWORD.EXE при закрытии документа.

Я переключил ссылку на версию 12, оставил свой код точно таким же, как и был, и попробовал снова. Все работало нормально

С тех пор я написал остальную часть своего кода, используя версию 12, и у меня не было никаких проблем.

Итак, теперь мне любопытно: есть некоторые небольшие различия между публично Microsoft.Office.Interop.* в версиях 12 и 14, но в значительной степени много совпадений.

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

1 ответ

Решение

Версия 12 - это взаимодействие для Office 2007, а 14 - для Office 2010. AFAIK. Если вам действительно не нужны некоторые новые функции 14-й версии, вы можете использовать более низкую версию библиотеки взаимодействия, и она будет хорошо работать для всех более новых версий Office.

Другие вопросы по тегам