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 对象
所以我在 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 对象