问题描述
我已经开发了一个大型的Office应用程序级外接程序和它的工作原理就像一个魅力,但我理解的技术基础问题。
- 那么,究竟是 VSTO 和 PIA的好?
- 确实 VSTO 只是提供一个适当的项目类型的Visual Studio的,这就是它?
- 是主互操作程序集(PIA)只是一些种类的包装用于访问的 Office对象模型的呢?
- 请他们都提供了更多的东西,功能比我知道的?
VSTO的应用程序运行时一>,提供挂钩(解决方案装载机的)到通过PIA办公室子系统。 PIA的是包装各地的非托管COM API( IDTExtensibility2的
),该办事处从建造。 PIA的提供托管接入及以上VSTO运行库运行。
VSTO附带了建设所需检测的依赖和装载您的添加 - 在部署清单项目类型在运行时。
借助 PIA的提供托管访问的COM对象模型,但它也的如果您想要更多地控制您的解决方案是如何加载(因此你总是有VSTO运行时,但并不总是PIA的的)。
这 MSDN链接提供PIA的演变的一个很好的概述和VSTO 的距离<$c$c>IDtExtensibility2$c$c>这是另一种加载选项(的PIA之外的)
I already developed a large Office application-level add-in and it works like a charm, but I have problems understanding the technical basis.
- So what exactly are VSTO and the PIAs good for?
- Does VSTO just provide a proper project type for Visual Studio and that's it?
- Are the Primary Interop Assemblies (PIA) just some kind of wrapper for accessing the Office Object Model?
- Do both of them provide more things and features than I am aware of?
VSTO is the application runtime that provides hooks (solution loader) into the Office subsystem via PIA. PIAs are wrappers around the unmanaged COM API (IDTExtensibility2
) that Office is built from. PIAs provide managed access and run above the VSTO runtime.
VSTO comes with project types that build the deployment manifest required for detecting dependencies and loading your Add-In at runtime.
The PIAs provide managed access to the COM object-model, but it also supports unmanaged access should you want more control over how your solution is loaded (hence you always have VSTO runtime, but not always PIAs).
This MSDN link provides a great overview of the evolution of PIAs and VSTO away from IDtExtensibility2
which is another loading option (outside of PIAs)
这篇关于VSTO与主Interop大会上,有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!