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是一个很好的起点,可以更多地链接到文档,博客,文章等......这些应该可以帮助你。