Visual Studio私有库自动更新扩展

时间:2016-10-20 13:52:25

标签: c# visual-studio auto-update visual-studio-extensions vspackage

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

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

ExtensionRepositoryService 是预定义的,并且在使用 Package.GetService(Type)方法以下列方式返回后连接到Visual Studio库:

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

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

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

我的问题是:是否可以使用相同的API连接到私有 VS图库并查询图库中提供的扩展程序?

1 个答案:

答案 0 :(得分:0)

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

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