所以我在Visual Studio中创建了一个私人扩展库,并发布了一个扩展。
我想创建另一个扩展,它会在更新可用时自动更新第一个扩展。我找到了一个示例源代码(https://github.com/madskristensen/ExtensionUpdater),用于使用ExtensionRepositoryService自动查找和更新扩展,该服务暴露了查询在线Visual Studio extensions存储库的能力。
ExtensionRepositoryService是预定义的,一旦使用Package.GetService(Type)方法返回,就会连接到Visual Studio Gallery:
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库并查询库中提供的扩展?
我最终创建了一个CustomGallery类,它实现了IVsExtensionRepository接口
该类有一个构造函数,该构造函数接收XML文件路径并解析XML以读取私有库原子文件。我使用Lync轻松地查询CustomGallery对象