6

MSDN Extensibility Platfrom DescriptionVS擴展架構(包API/Visual Studio中圖書館)

最近我發現上面顯示的Visual Studio擴展平臺圖表從微軟。

大部分事情都很清楚。不過,我想知道Package API和VSL(Visual Studio Library)。

我試圖找到更多,但無法找到任何信息。

我不太明白的事情:
- 什麼是Package API?
- 什麼是VSL?
- InteropAssemblies/VSL和Package API之間的關係是什麼? InteropAssemblies是否包裝了對Package API的訪問?
- 爲什麼要在實現本地程序包時使用VSL?有什麼好處?

有沒有人有關於這些主題的更多信息或有人知道一些資源?

回答

2

「包API」是Visual Studio SDK中公開的一組COM接口。這些是Visual Studio外殼的原始可擴展接口。幾乎所有的接口都以'IVs'開頭(例如IVsShell,IVsHierarchy,IVsSolution等)。如果安裝了Visual Studio 2010 SDK,請查看%SDK​​Install%\ VisualStudioIntegration \ Common \ IDL的內容更多詳情。

您可以將VSL看作是創建本機Visual Studio包的ATL靈感框架。如果您使用包含的模板創建C++ Visual Studio包,則輸出將使用VSL。它的優點是,它最大限度地減少了需要爲給定功能編寫的「管道」代碼的數量(例如添加一個新的ToolWindow)。

Interop程序集適用於.NET/COM的互操作性。它們爲託管(C#/ VB/F#)代碼調用Package API提供了正確的方法簽名和結構。

Visual Studio Extensibility center on MSDN是一個很好的起點,可以更多地鏈接到文檔,博客,文章等......這些應該可以幫助你。