Несколько лет назад я провел довольно серьезную разработку надстроек Office для Office 2003 (Word, Excel и PowerPoint).Я создал несколько общих надстроек COM в C # с помощью Visual Studio 2003. В то время я смотрел на VSTO, но решил по причинам, которые не могу полностью вспомнить, что он не подходит для моих нужд.
Мои надстройки должны быть обновлены и больше не нуждаются в поддержке Office 2003 - хотя они все еще должны поддерживать Office 2007, а не только 2010 год.
Я знаю, что ситуация значительно изменилась, ичто Visual Studio 2010 лучше поддерживает разработку Office.Я хотел бы определить, следует ли мне повторно реализовать свои надстройки с помощью VSTO или продолжить маршрут общего надстройки COM.
Если кто-нибудь знает хорошее резюме плюсов и минусов каждого из них.подход (помимо маркетингового ажиотажа), я хотел бы услышать это.
Вещи, которые я нашел очень разочаровывающими в первый раз (не используя VSTO, но могут применяться в любом случае):
- необходимость явного управления ссылками на COM (и повсюду вызывать ReleaseComObject)
- необходимость использования COM-оболочки для обеспечения работы модели безопасности
- проекты установки Visual Studio просто не выполнялисьт работа;Я закончил сборку собственного установщика на основе MSI
- отсутствие документации, особенно по всем вышеперечисленным;Я провел недели проб и ошибок и поиска случайных блогов;предоставленный MS пример кода полностью игнорирует все эти реальные проблемы
Стоит также отметить, что важно минимизировать количество вещей, которые необходимо установить перед моими надстройками,Я думаю, что одной из вещей, которые оттолкнули меня от VSTO, была необходимость развернуть дополнительные вещи (хотя, поскольку я никогда не шел по этому пути, я не знаю, была ли эта обеспокоенность оправданной).И мне бы очень хотелось иметь возможность развертывания на стандартной сборке Windows 7 (или Vista) без предварительной установки (скажем) .NET 4.