【问题标题】:Can I create a VSTO outlook addin targeting .net framework 4.6.1, which runs on all office versions from 2007 to 2016?我可以创建一个针对 .net 框架 4.6.1 的 VSTO Outlook 插件,它可以在 2007 年到 2016 年的所有 Office 版本上运行?
【发布时间】:2016-05-27 08:13:39
【问题描述】:

我有一个使用 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.

【问题讨论】:

    标签: .net-3.5 vsto office-2007 office-2016 .net-4.6.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 版本中可用的接口,通常可以混合和匹配多个版本,在特殊情况下使用后期绑定。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-01
      • 2019-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多