首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在visual studio扩展中调用包管理器控制台并执行Find-Package

如何在visual studio扩展中调用包管理器控制台并执行Find-Package
EN

Stack Overflow用户
提问于 2019-12-18 18:45:09
回答 1查看 431关注 0票数 0

我正在开发一个visual studio扩展(Vsix)。

现在,我想获得nuget包的最新版本。我只找到了一种使用Package Manager Console的方法,dotnet CLI still not support search command.

那么,我如何调用Package Manager Console并执行Find-Package命令,或者是否有其他方法可以从特定的包源服务器获取包的最新版本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-20 17:05:23

你有没有尝试过下面的方法?

https://docs.microsoft.com/en-us/nuget/guides/api/query-for-all-published-packages

我用customer Command item构建了一个简单的VSIX,它可以使用以下代码从NuGet执行搜索包(需要首先将Nuget.PackageManagement安装到您的VSIX项目中)。

代码语言:javascript
复制
        List<Lazy<INuGetResourceProvider>> providers = new List<Lazy<INuGetResourceProvider>>();
        providers.AddRange(Repository.Provider.GetCoreV3());  // Add v3 API support
        //providers.AddRange(Repository.Provider.GetCoreV2());  // Add v2 API support
        PackageSource packageSource = new PackageSource("https://api.nuget.org/v3/index.json");
        SourceRepository sourceRepository = new SourceRepository(packageSource, providers);
        PackageMetadataResource packageMetadataResource = await sourceRepository.GetResourceAsync<PackageMetadataResource>();
        IEnumerable<IPackageSearchMetadata> searchMetadata = await packageMetadataResource.GetMetadataAsync("JSON.net", true, true, null, NuGet.Common.NullLogger.Instance, CancellationToken.None);
        var a= searchMetadata.ToString();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59390308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档