我已经开发了一个大型Office应用程序级加载项,它的工作原理很吸引人,但是我在理解技术基础方面遇到了问题。
最佳答案
VSTO is the application runtime通过PIA向Office子系统提供 Hook (解决方案加载器)。生成Office的非托管COM API(IDTExtensibility2
)周围的PIAs are wrappers。 PIA提供托管访问并在VSTO运行时之上运行。
VSTO附带了一些项目类型,这些项目类型构建了deployment manifest,该PIAs provide managed access是检测依赖项并在运行时加载加载项所必需的。
COM对象模型的supports unmanaged access,但是如果您想对解决方案的加载方式进行更多控制(因此,您始终拥有VSTO运行时,但不一定拥有PIA),也可以使用MSDN link provides a great overview of the evolution of PIAs and VSTO。
这是另一个加载选项 IDtExtensibility2
远离ojit_a(在PIA之外)