VSTO与主要互操作程序集有什么区别?

ala*_*eno 11 .net vsto ms-office visual-studio-2010

我已经开发了一个大型的Office应用程序级加载项,它就像一个魅力,但我在理解技术基础时遇到了问题.

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

Sli*_*SFT 10

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

VSTO附带了项目类型,这些项目类型构建了在运行时检测依赖关系和加载加载项所需的部署清单.

PIA的提供托管访问的COM对象模型,但它也支持非托管访问如果您想对您的解决方案是如何装载更多的控制(因此你总是有VSTO运行时,但并非总是如此的PIA).

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