如何使用Nuget.VisualStudio从存储库中获取软件包列表

时间:2018-10-30 19:33:13

标签: c# visual-studio-2017 nuget visual-studio-extensions

使用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();;

1 个答案:

答案 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

下面是一些更有用的博客文章:

检查similar thread以获得更多详细信息。

希望这会有所帮助。