Visual Studio 私人画廊自动更新扩展

Visual Studio private gallery auto update extensions

所以我在 Visual Studio 中创建了一个私人扩展库并发布了一个扩展。

我想创建另一个扩展程序,它会在有可用更新时自动更新第一个扩展程序。 我找到了一个示例源代码 (https://github.com/madskristensen/ExtensionUpdater),用于使用 ExtensionRepositoryService 自动查找和更新扩展,它公开了查询在线 Visual Studio 扩展存储库的能力。

ExtensionRepositoryService 是预定义的,一旦使用 Package.GetService(Type)方法如下:

var repository = (IVsExtensionRepository)GetService(typeof(SVsExtensionRepository));

稍后查询存储库是使用以下代码实现的:

var entry = _repository.CreateQuery<GalleryEntry>(false, true, "ExtensionManagerUpdate")
                        .Where(e => e.VsixID == extension.Header.Identifier)
                        .AsEnumerable()
                        .FirstOrDefault();

我的问题是: 是否可以利用相同的 API 连接到 private VS 画廊和查询图库中提供的扩展?

我最终创建了一个实现 IVsExtensionRepository 接口的 CustomGallery class

class 有一个构造函数接收 XML 文件路径并解析 XML 以读取私有图库原子文件。 我使用 Lync 轻松查询 CustomGallery 对象