Могу ли я создать надстройку VSTO outlook, ориентированную на .NET framework 4.6.1, которая работает во всех офисных версиях с 2007 по 2016?

У меня есть надстройка Outlook, разработанная с помощью VS 2008 и для платформы 3.5. Теперь я хочу обновить ее до последней версии (4.6.1). Но когда я попытался создать офисный проект в VS 2012, ориентированный на платформу 4.6.1, это было только показал мне шаблон Office 2010. Итак, нельзя ли разработать надстройку VSTO 2007, нацеленную на платформу 4.6.1? Я хочу придерживаться VSTO 2007, потому что он гарантированно работает во всех версиях Office до Office 2016, так как мой текущий Если я разрабатываю надстройку Office 2010, она может дать сбой в Office 2007. Итак, дайте мне знать, как разработать надстройку Office, которая поддерживается всеми версиями Office и нацелена на платформу .net 4.6.1.


person V K    schedule 16.02.2016    source источник


Ответы (1)


Вы хотите разработать надстройку для .NET Framework 4.6.1, но по-прежнему нацелены на Office 2007, поскольку Office всегда считается «обратно совместимым». Хотя теоретически это так, на практике вы столкнетесь с проблемами (например, Excel со временем изменил свою модель приложения с MDI на SDI, что привело к всевозможным проблемам с видимостью в надстройках, ориентированных на более старые версии).

То же самое и с .NET Framework. Приложения, ориентированные на более низкую платформу, должны работать с более поздними платформами. Обратное может вызвать серьезные проблемы.

Поэтому лучший ответ, на мой взгляд, - использовать наименьший знаменатель как в Office PIA, так и в .NET framework для поддержки более старых версий Office. Теоретически это означает, что вы должны оставаться с Office 2007 PIA и .NET 3.5 для лучшей совместимости со всеми версиями Office, начиная с 2007 года и выше. Однако в этом случае все еще существует риск несоответствия, как я объяснил в первом абзаце.

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

«Официальный» ответ Microsoft, связанный с проектами VSTO, всегда заключался в том, что с каждой версией VSTO поддерживаются только две версии Office, и это (опять же) связано с тем, что уже упоминалось ранее. Дополнительную информацию об этом можно найти здесь: https://msdn.microsoft.com/en-us/library/bb772080(v=vs.120).aspx

person Maarten van Stam    schedule 18.02.2016