C# 双 Outlook 2007/2010 VSTO 插件

发布于 2024-11-08 01:41:59 字数 691 浏览 0 评论 0原文

我们需要用 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年项目?
  • 或者是版本的唯一区别 办公室运行时是 由 ClickOnce 引导 安装程序?您可以只安装 Outlook 2007 的 2010 运行时吗?
  • 如果没有区别,为什么 有两个 Visual Studio 项目 模板?

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

We need to create a VSTO add-in in C# that supports both Outlook 2007 and 2010.

To start off we created 3 projects:

  1. File->New Project->Office->2007->Outlook 2007 Add-in
  2. File->New Project->Office->2010->Outlook 2010 Add-in
  3. File->New Project->Windows->Class library

All shared code is in project #3.

So far, we have partially developed the add-in and have been using ClickOnce deployments for testing.

One day, we noticed someone installed the 2010 add-in for 2007 Outlook and had no ill effects whatsoever.

So a few questions:

  • Is there any reason to create the
    2007 VSTO project? Can we just
    create the 2010 project?
  • 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?
  • If there is no difference, why are
    there two Visual Studio project
    templates?

In our final solution, we will be using a WiX installer, which is also working thus far. The WiX installer will be simplified greatly if we can use 1 project for the add-in.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

客…行舟 2024-11-15 01:41:59

有什么理由创建 2007 VSTO 项目吗?我们可以只创建 2010 年的项目吗?
您可以只使用 2010 项目,但如果您不小心引用任何 2010 ONLY api,例如访问任何新的对话 API,将导致您的加载项在 2007 年崩溃。

或者是唯一的区别是版本由 ClickOnce 安装程序引导的 Office 运行时?您可以只安装 Outlook 2007 的 2010 运行时吗?
基本上,您正在编写一个适用于 2007 和 2010 的 VSTO 3.0 加载项。VSTO 实际上并不关心您正在为哪个模板编写,只关心您的加载项是 VSTO 3.0 加载项。

如果没有区别,为什么有两个 Visual Studio 项目模板?
我认为有两个原因: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

Is there any reason to create the 2007 VSTO project? Can we just create the 2010 project?
You can just use the 2010 project, but if you accidentally reference any 2010 ONLY api's, for example accessing any of the new conversation API's will cause your add-in to blow up in 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?
Basically you are writing a VSTO 3.0 add-in, which works for both 2007 and 2010. VSTO doesn't actually care which template you are writing for, only that your add-in is a VSTO 3.0 add-in.

If there is no difference, why are there two Visual Studio project templates?
2 reasons that I can see, F5 debugging support, and to make sure you do not access a new API'

If you do go down the only 2010 add-in road, I suggest you do a compile of the solution against the Microsoft.Office.Interop.Outlook v12 PIA which will show you any new API's that you are accessing. If you do want to target some of these new API's only IF your add-in is hosted in 2010 then have a look at 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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文