Dot-Net
VSTO 與主互操作程序集,有什麼區別?
我已經開發了一個大型的 Office 應用程序級外掛,它的工作原理很吸引人,但我在理解技術基礎時遇到了問題。
- 那麼VSTO和PIA到底有什麼用呢?
- VSTO是否只是為 Visual Studio 提供了合適的項目類型,僅此而已?
- 主互操作程序集 (PIA)是否只是用於訪問Office 對像模型的某種包裝器?
- 它們都提供了比我知道的更多的東西和功能嗎?
VSTO 是通過 PIA 向 Office 子系統提供掛鉤(解決方案載入器)的應用程序執行時。PIA 是
IDTExtensibility2圍繞建構 Office的非託管 COM API ( ) 的包裝器。PIA 提供託管訪問並在 VSTO 執行時之上執行。VSTO 附帶項目類型,用於建構檢測依賴項和在執行時載入載入項所需的部署清單。
PIA 提供對 COM 對像模型的託管訪問,但如果您希望更好地控制解決方案的載入方式,它也支持非託管訪問(因此您始終擁有 VSTO 執行時,但並不總是擁有 PIA)。
這個MSDN 連結很好地概述了 PIA 和 VSTO 的演變,這
IDtExtensibility2是另一個載入選項(在 PIA 之外)