外接程序开发人员体验
通常有三组开发人员负责处理外接程序及其管线:宿主应用程序开发人员、管线开发人员和外接程序开发人员。
一般情况下,开发宿主应用程序的组织还会开发 SDK,此 SDK 描述外接程序开发人员作为编程依据的对象模型。 此 SDK 将包括外接程序视图程序集(包含该外接程序必须实现的抽象基类或接口)以及抽象基类和接口(表示在宿主和外接程序之间传递的类型)。 此工作还可以包括生成完整的管线。
外接程序开发
对于定义外接程序的类仅有少数一些要求:
该类必须有 AddInAttribute 特性。 此特性指定外接程序的名称,还可以选择性地指定说明、发行者和版本。
该类必须从外接程序视图中的外接程序基类中派生。
该类必须实现外接程序基类的方法。
除了这些要求外,开发外接程序与开发任何其他 .NET Framework 组件类似。 无需了解管线的细节。 外接程序开发人员必须仅实现外接程序视图中的方法。
外接程序开发人员还可以在不影响其他外接程序或宿主的前提下开发和测试外接程序,其原因是外接程序隔离在它自己的应用程序域内。 只有外接程序视图、协定及外接程序端适配器加载到该外接程序的应用程序域内。
部署是简单的。 只需将外接程序程序集复制到宿主指定的外接程序目录中其自己的文件夹内。 许多宿主将选择自己调用 Update 方法,使得外接程序部署成为一个简单的复制操作。 其他宿主将该责任推给外接程序开发人员。 在该情况下,外接程序在安装过程中通常将调用框架目录中提供的 addinutil.exe 程序集。