首页 > 解决方案 > VSTO 加载项:如何从 3 个加载项为 3 个 Outlook 版本制作一个加载项?

问题描述

我有三个插件,它们的功能大致相同,但一个用于 Outlook 2010,一个用于 2013 年,一个用于 2016 年。我已经研究了几天如何(如果可能的话)使它如此我只有一个可以安装在三个版本的 Outlook 上。

我知道 Outlook 2016 的加载项使用了一些 Outlook 2010 中不存在的对象(可能还有事件),但我很确定这还不错,我可以在启动时验证版本- up 事件触发并从那里去?

我是 VSTO 插件的新手,所以我还没有尝试过任何东西,但从我读到的内容来看,只要进行一些调整,它们都应该能够在任何版本上工作?问题是:我什至不确定这一点,因为我已经看到了很多不同的观点(人们说这是可能的,其他人说“嗯,不,只是不要”)即使我是我认为我认为了解是否由于 PIA 可能存在兼容性问题?

实际上,我只是不知道从这里去哪里。

标签: c#outlookvstooutlook-addin

解决方案


VSTO 允许创建支持多个 Office 版本的加载项。在不同版本的 Microsoft Office中运行解决方案一文中了解更多信息。

请注意,您需要使用与支持的最低 Office 版本相对应的 PIA。在这种情况下,您可以确保在新的 Office 版本中不存在的成员不会触发运行时异常。在运行时,您可以检查宿主应用程序的版本,并使用 .net 开发世界中以 Reflection 为代表的后期绑定技术,更多信息请参见Type.InvokeMember

此外,您可以考虑使用Add-in Express。它们允许开箱即用地创建与版本无关的插件。


推荐阅读