我正在开发一个visual studio扩展(Vsix)。
现在,我想获得nuget包的最新版本。我只找到了一种使用Package Manager Console的方法,dotnet CLI still not support search command.
那么,我如何调用Package Manager Console并执行Find-Package命令,或者是否有其他方法可以从特定的包源服务器获取包的最新版本。
发布于 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项目中)。
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();https://stackoverflow.com/questions/59390308
复制相似问题