2

我有一个使用 VS 2008 和 3.5 框架开发的 Outlook 插件。现在,我想将它升级到最新的框架(4.6.1)。但是当我尝试在 VS 2012 中创建一个针对 4.6.1 框架的办公项目时。它只向我展示了 office 2010 模板。那么,是否可以开发一个针对 4.6.1 框架的 VSTO 2007 插件?我想坚持使用 VSTO 2007,因为它保证可以在直到 office 2016 的所有 office 版本上运行,就像我目前的目标 .net 3.5 的插件。而如果我开发 Office 2010 插件,它可能会在 Office 2007 上崩溃。所以,请告诉我一种开发 Office 插件的方法,该插件受所有 Office 版本和目标 .net 框架支持4.6.1.

4

1 回答 1

1

您希望针对 .NET Framework 4.6.1 开发您的插件,但仍以 Office 2007 为目标,因为 Office 被认为始终“向下兼容”。虽然理论上是这样,但在实际操作中您会遇到问题(例如,随着时间的推移,Excel 将其应用程序模型从 MDI 更改为 SDI,导致针对旧版本的插件中出现各种可见性问题)。

.NET 框架也是如此。针对较低框架的应用程序应该与更高版本的框架一起使用。反过来可能会导致真正的问题。

因此,我认为最好的答案是使用 Office PIA 和 .NET 框架中的最低分母来支持旧版 Office。从理论上讲,这意味着您应该继续使用 Office 2007 PIA 和 .NET 3.5,以获得与 2007 及更高版本的所有 Office 版本的最佳兼容性。然而,在这种情况下,正如我在第一段中解释的那样,仍然存在不匹配的风险。

但是,一般来说,如果您只处理最旧 Office 版本中可用的接口,则可以混合和匹配多个版本,在特殊情况下使用后期绑定。

微软的“官方”回答一直是,与 VSTO 项目相关,每个 VSTO 版本只支持两个 Office 版本,并且(再次)与之前提到的内容有关。可以在此处找到更多信息:https ://msdn.microsoft.com/en-us/library/bb772080(v=vs.120).aspx

于 2016-02-18T15:19:40.383 回答