如何调用Package Manager控制台并在Visual Studio扩展中执行Find-Package

问题描述 投票:0回答:1

我正在开发Visual Studio扩展(vsix)。

现在,我想获取nuget包的最新版本。我只使用Package Manager Consoledotnet CLI still not support search command.

找到了一种方法

所以,如何调用Package Manager Console并执行Find-Package命令,或者还有另一种方法可以从特定的软件包源服务器获取软件包的最新版本。

nuget visual-studio-extensions vsix nuget-server dotnet-cli
1个回答
0
投票

您是否尝试过以下文档中的方法?

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

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

        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();
© www.soinside.com 2019 - 2024. All rights reserved.