Bootstrap

如何运用netoffice,开发兼容多个版本的outlook插件

如何运用netoffice,开发兼容多个版本的outlook插件

###需求描述
用户使用outlook发送邮件时,如果收件人包含公司外的人员,则弹出提醒,确认是否发送。
###思考
首先思考到outlook插件,基于C#开发的话,会依赖.netframework等版本环境,并且outlook版本也很多兼容性,所以和领导确认了一下,仅做win7及以上操作系统,.netframework 4.0以上版本。
###开始干活
因为第一次做outlook插件,而且很久没有接触过C#开发,所以第一想法还是借助百度。
虽然搜索资料很多,但是大部分都是用的VSTO来实现的outlook插件,下载VS2017然后开始创建项目,发现创建这个时候outlook版本就已经有要求了,心里一凉,觉得兼容性应该很麻烦。

看了一些别人的博客,然后很快用VSTO实现了第一个版本,本地测试后,发现一切正常,本地是outlook2010版本,然后再另外两个同事那里安装测试,悲剧就开始了,首先是.netframwork版本不能低于4.0,然后提示缺少vs office tools工具,很是头疼。。。期间折腾了下载VS的各种版本等等,特别无语。

###摸索
因为一直在做java开发,也不清楚C#的outlook插件兼容性要怎么解决,还是一直百度,基本看遍了网上相关的论坛,帖子,微软的MSDN等等。后来发现有人遇到了同样的兼容性问题,然后了解到有个开源的netoffice,这里附上旧的地址,链接:https://archive.codeplex.com/?p=netoffice 新的地址已经迁移到GitHub:https://github.com/NetOfficeFw/NetOffice

依仗着谷歌浏览器自带的页面翻译,把这个工具对应的问题讨论、等等都看了一遍。然后参考着官网的例子,终于写出了2.0版本的功能。

###参考步骤

  1. 首先在vs里创建一个类库的项目

  2. 添加引用选择下载好的NetOffice.dll,Office.dll,Outlook.dll,extensibility.dll
    编写代码内容如下:

    using System;
    using System.Runtime.Int
;