VSTO外接程序:如何从3个Outlook版本的3个外接程序中制作一个外接程序?

时间:2019-06-25 12:15:41

标签: c# outlook vsto outlook-addin

我有三个外接程序的功能大致相同,但一个用于Outlook 2010,一个用于2013,一个用于2016。 我已经研究了几天(如果有可能的话)如何做到这一点,所以我只有一个可以安装在三个版本的Outlook中。

我知道Outlook 2016的外接程序使用了Outlook 2010中不存在的一些对象(可能还有事件),但是我敢肯定那还不错,我可以在以下情况下验证版本启动事件触发并从那里走?

我在VSTO加载项上还很新,所以我还没有尝试过任何东西,但是从我的阅读中来看,只要作一些调整,它们所有人都应该可以在任何版本上工作。 问题是:我什至不确定,因为我对此有很多不同的看法(人们说这是可能的,而其他人说“哼,不,只是不”),即使我是我自己,我也是是否理解由于PIA可能存在兼容性问题?

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

1 个答案:

答案 0 :(得分:1)

VSTO允许创建支持多个Office版本的加载项。在Run solutions in different versions of Microsoft Office文章中了解有关此内容的更多信息。

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

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