我已经开发了一个大型Office应用程序级加载项,它的工作原理很吸引人,但是我在理解技术基础方面遇到了问题。

  • 那么 VSTO PIA 到底有什么用?
  • VSTO 只是为Visual Studio提供正确的项目类型吗?
  • 主互操作程序集(PIA)只是某种用于访问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之外)

    10-08 18:08