【问题标题】:C# dual Outlook 2007/2010 VSTO Add-inC# 双 Outlook 2007/2010 VSTO 插件
【发布时间】:2011-08-27 13:26:54
【问题描述】:

我们需要用 C# 创建一个支持 Outlook 2007 和 2010 的 VSTO 插件。

一开始我们创建了 3 个项目:

  1. 文件->新建项目->Office->2007->Outlook 2007 插件
  2. 文件->新建项目->Office->2010->Outlook 2010 插件
  3. 文件->新建项目->Windows->类库

所有共享代码都在项目 #3 中。

到目前为止,我们已经部分开发了插件,并一直在使用 ClickOnce 部署进行测试。

有一天,我们注意到有人为 2007 Outlook 安装了 2010 插件,并且没有任何不良影响。

所以有几个问题:

  • 是否有任何理由创建 2007 VSTO 项目?我们能不能 创建 2010 年项目?
  • 或者是唯一不同的版本 Office 运行时是 由 ClickOnce 引导 安装程序?能否只为 Outlook 2007 安装 2010 运行时?
  • 如果没有区别,为什么 有两个 Visual Studio 项目 模板?

在我们的最终解决方案中,我们将使用 WiX 安装程序,该安装程序目前也可以正常工作。如果我们可以使用 1 个项目作为外接程序,WiX 安装程序将大大简化。

【问题讨论】:

    标签: c# .net outlook vsto outlook-addin


    【解决方案1】:

    Is there any reason to create the 2007 VSTO project? Can we just create the 2010 project?
    您可以只使用 2010 项目,但如果您不小心引用了任何 2010 ONLY api,例如访问任何新的对话 API 将导致您的加载项在 2007 年崩溃。

    Or is the only difference the version of the office runtime that is bootstrapped by the ClickOnce installer? Can you just install the 2010 runtime for Outlook 2007?
    基本上,您正在编写一个 VSTO 3.0 加载项,它适用于 2007 年和 2010 年。VSTO 实际上并不关心您为哪个模板编写,只是您的加载项是 VSTO 3.0 加载项。

    If there is no difference, why are there two Visual Studio project templates?
    我可以看到的 2 个原因,F5 调试支持,以及确保您不会访问新 API'

    如果您确实走上了唯一的 2010 插件之路,我建议您针对 Microsoft.Office.Interop.Outlook v12 PIA 编译解决方案,它将显示您正在访问的任何新 API。如果您确实希望仅在您的加载项托管于 2010 年的情况下针对其中一些新 API,请查看 http://blogs.msdn.com/b/vsto/archive/2010/06/04/creating-an-add-in-for-office-2007-and-office-2010-that-quot-lights-up-quot-on-office-2010-mclean-schofield.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-19
      • 1970-01-01
      • 2011-07-01
      • 1970-01-01
      • 2011-05-28
      • 2016-02-09
      • 2013-03-08
      • 1970-01-01
      相关资源
      最近更新 更多