12

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

  1. 那么VSTOPIA到底有什么用呢?
  2. VSTO是否只是为 Visual Studio 提供了合适的项目类型,仅此而已?
  3. 主互操作程序集 (PIA)是否只是用于访问Office 对象模型的某种包装器?
  4. 它们都提供了比我知道的更多的东西和功能吗?
4

1 回答 1

11

VSTO 是通过 PIA 向 Office 子系统提供挂钩(解决方案加载器)的应用程序运行时。PIA 是IDTExtensibility2围绕构建 Office的非托管 COM API ( ) 的包装器。PIA 提供托管访问并在 VSTO 运行时之上运行。

VSTO 附带项目类型,用于构建检测依赖项和在运行时加载加载项所需的部署清单。

PIA 提供对 COM 对象模型的托管访问,但如果您希望更好地控制解决方案的加载方式,它也支持非托管访问(因此您始终拥有 VSTO 运行时,但并不总是拥有 PIA)。

这个MSDN 链接很好地概述了 PIA 和 VSTO 的演变,IDtExtensibility2是另一个加载选项(在 PIA 之外

于 2012-06-11T14:43:01.250 回答