使用Nuget.VisualStudio Nuget软件包时,如何获取软件包列表,以允许用户选择要安装的软件包?
我正在迁移针对Visual Studio 2013 Nuget API构建的vsix项目,以使用Visual Studio 2017的API。我正在使用此documentation来设置具有以下警告的Nuget服务。
除了代码中的公共接口外,不要使用任何其他类型,也不要引用任何其他Nuget程序集,包括NuGet.Core.dll。
Visual Studio 2013 vsix项目使用Nuget.Core获取可以安装的软件包列表。不幸的是,当我添加Nuget.Core时,会有大量的命名空间冲突。这是我们从Nuget.Core包中使用的代码,我需要在新的Nuget API中找到与之等效的代码。
IPackageRepository repo = PackageRepositoryFactory.Default.CreateRepository("http://ourfeed.net/nuget");
List<IPackage> packages = repo.GetPackages().Where(p => p.Tags.Contains(tag))
.OrderByDescending(p => p.Version)
.Take(packagesPerTag).ToList();;
答案 0 :(得分:1)
如何使用Nuget.VisualStudio从存储库中获取软件包列表
根据NuGet/NuGet2:
NuGet2
这是nuget.core和codeplex所有回购的所在地。该存储库适用于NuGet的版本2。 第3版 Nuget客户端库已移至Nuget.Client 。请参阅NuGet API v3 文档以获取更多信息。
有关更多信息,请参见NuGet API v3文档。
https://docs.microsoft.com/en-us/nuget/reference/nuget-client-sdk
下面是一些更有用的博客文章:
Exploring the NuGet v3 Libraries, Part 2: Searching for packages
Exploring the NuGet v3 Libraries, Part 3: Installing packages
检查similar thread以获得更多详细信息。
希望这会有所帮助。