如何调用包管理器控制台并在 visual studio 扩展中执行 Find-Package
how to call Package Manager Console and execute Find-Package in visual studio extension
我正在开发 visual studio 扩展 (vsix)。
现在,我想获取最新版本的 nuget 包。我只找到了一种使用 Package Manager Console
、dotnet CLI
still not support search command.
的方法
那么,我如何调用 Package Manager Console
并执行 Find-Package
命令,或者有其他方法可以从特定包源服务器获取包的最新版本。
下面文档中的方法你试过没有?
https://docs.microsoft.com/en-us/nuget/guides/api/query-for-all-published-packages
我构建了一个带有客户命令项的简单 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();
我正在开发 visual studio 扩展 (vsix)。
现在,我想获取最新版本的 nuget 包。我只找到了一种使用 Package Manager Console
、dotnet CLI
still not support search command.
那么,我如何调用 Package Manager Console
并执行 Find-Package
命令,或者有其他方法可以从特定包源服务器获取包的最新版本。
下面文档中的方法你试过没有?
https://docs.microsoft.com/en-us/nuget/guides/api/query-for-all-published-packages
我构建了一个带有客户命令项的简单 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();