在netoffice中使用IDTExtensibility2和ComAddin是否具有技术优势?或者他们都完成了相同的事情(虽然通过不同的途径)?
我知道ComAddin继承自IDTExtensibility2接口--我想我的问题很简单--为什么我要直接从接口继承而不是从ComAddin类继承呢?更多的控制?
发布于 2015-02-13 02:37:31
NetOffice不使用或与PIA或VSTO一起工作(不需要)。这是NetOffice的优势之一。
IDTExtensibility2接口是interface中基于COM的外接程序的通用接口.office应用程序从加载项(基于注册表信息)创建一个实例,并将此接口与加载项连接在一起。只需实现这些接口,就可以创建office外接程序。(所有解决方案、加载项快件、vsto、netoffice都在幕后完成此操作)
COMAddin基类在NetOffice中是一个顶级包装器,可以通过IDTExtensibility2接口处理Office,并为您处理典型的基础设施任务(寄存器/注销等等)。VSTO做的基本相同,但您从未在这里看到基类(在代码提供程序魔术期间,但您可以在IL间谍代码反射器中看到这一点)。
COMAddin基类使创建office和减少基础设施代码变得更加熟悉VSTO变得更加容易--这就是整个想法。你选择使用它。如果你没有特殊的要求,这是一个很好的想法,我发现。
发布于 2014-02-07 13:32:08
ComAddin要求安装Office,但NetOffice只使用PIA(主互操作程序集)。
从这个链接中提取
Office外接程序是由Office应用程序通过COM运行时层激活的进程内COM服务器。因此,在.NET中开发COM外接程序需要在.NET中实现外接程序组件,然后通过COM互操作层向COM客户端(即Office应用程序)公开。
https://stackoverflow.com/questions/21174389
复制相似问题