visual-studio-2010 - VS 可扩展性架构(包 API/Visual Studio 库)

标签 visual-studio-2010 visual-studio vs-extensibility vspackage mpf

MSDN Extensibility Platfrom Description

最近我发现上面显示的来自微软的 Visual Studio 可扩展性平台图表。

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

我试图找到更多,但找不到任何信息。

我不太明白的事情:
- Package API 到底是什么?
- VSL 到底是什么?
- InteropAssemblies/VSL 和 Package API 之间有什么关系? InteropAssemblies 是否包装了对 Package API 的访问?
- 为什么要在实现原生包时使用 VSL?有什么好处?

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

最佳答案

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

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

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

Visual Studio Extensibility center on MSDN是开始获取更多指向文档、博客、文章等的链接的好地方……这应该对您有所帮助。

关于visual-studio-2010 - VS 可扩展性架构(包 API/Visual Studio 库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5513708/

相关文章:

visual-studio-2010 - 如何自动重构我的类以使用它们所在文件夹的默认命名空间?

visual-studio - 右键弹出菜单缓慢出现

在cl编译器中编译C99

javascript - Visual Studio 编译器 'syntax error' 关于 javascript 的警告

wpf - VS 2012 扩展中的标准控件

c++ - 无法将头文件正确链接到 cpp 文件的链接错误

visual-studio-2010 - 创建独占词实例

c# - VS 2010 安装程序项目未将共享引用的程序集携带到所有输出

c# - 如何正确应对文件更改

visual-studio - 使用自定义加载项更改 Visual Studio 颜色的性能