VS可扩展性体系结构(包API/Visual Studio库)

Oli*_*gel 6 visual-studio-2010 mpf vspackage visual-studio vs-extensibility

MSDN可扩展性平台描述

最近我在microsoft上找到了上面显示的Visual Studio可扩展性平台图表.

大多数事情对我来说都很清楚.但是,我想知道Package API和VSL(Visual Studio库).

我试图找到更多,但无法找到任何信息.

我不太明白的事情:
- Package API究竟是什么?
- 究竟什么是VSL?
- InteropAssemblies/VSL和Package API之间的关系是什么?InteropAssemblies是否包装对Package API的访问?
- 为什么在实现本机包时应该使用VSL?有什么好处?

有没有人有关于这些主题的更多信息或有人知道一些资源?

Aar*_*ten 3

“Package API”是 Visual Studio SDK 中公开的一组 COM 接口。这些是 Visual Studio shell 的原始可扩展性接口。几乎所有接口都以“IV”开头(例如 IVsShell、IVsHierarchy、IVsSolution 等...)如果您安装了 Visual Studio 2010 SDK,请查看 %SDKInstall%\VisualStudioIntegration\Common\IDL 的内容更多详情。

您可以将 VSL 视为受 ATL 启发的框架,用于创建本机 Visual Studio 包。如果您从包含的模板创建 C++ Visual Studio 包,则输出将使用 VSL。它的优点是它最大限度地减少了您需要为给定功能编写的“管道”代码量(例如添加新的工具窗口)。

互操作程序集用于.NET/COM 互操作性。它们为托管 (C#/VB/F#) 代码提供正确的方法签名和结构以调用 Package API。

MSDN 上的Visual Studio 可扩展性中心是一个很好的起点,可以获取更多指向文档、博客、文章等的链接...这些应该会对您有所帮助。