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

时间:2012-06-06 12:53:01

标签: .net visual-studio-2010 vsto ms-office

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

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

1 个答案:

答案 0 :(得分:10)

VSTO is the application runtime通过PIA向Office子系统提供挂钩(解决方案加载程序)。 PIAs are wrappers围绕构建Office的非托管COM API(IDTExtensibility2)。 PIA提供托管访问并在VSTO运行时之上运行。

VSTO带有项目类型,用于构建检测依赖项并在运行时加载加载项所需的deployment manifest

COM对象模型的PIAs provide managed access,但是如果您想要更好地控制解决方案的加载方式supports unmanaged access,那么因此您总是拥有VSTO运行时,但并不总是PIA )。

MSDN link provides a great overview of the evolution of PIAs and VSTO远离IDtExtensibility2这是另一个加载选项(在PIA之外