c# – 如何以编程方式读取packages.config中的NuGet包列表?

读取(最好是通过C#)package.config文件中列出的软件包的最佳方法是什么?

在我们的源代码库中,我有很多解决方案和项目,同样还有很多packages.config文件.我正在尝试在我的源代码存储库中构建一个正在使用的包(和版本)的整合列表.

我可以看到有一个NuGet.Core包可用 – 我怎么能用它来实现我的目标?

谢谢

解决方法

如果您不想直接读取 XML,可以安装NuGet.Core NuGet包,然后使用packagereference类.

下面是一些使用此类打印包ID及其版本的示例代码.

string fileName = @"c:\full\path\to\packages.config";

var file = new packagereferenceFile(fileName);
foreach (packagereference packagereference in file.Getpackagereferences())
{
    Console.WriteLine("Id={0},Version={1}",packagereference.Id,packagereference.Version);
}

您需要自己找到packages.config文件,您可以使用目录搜索来执行这些操作,例如:

foreach (string fileName in Directory.EnumerateFiles("d:\root\path","packages.config",SearchOption.AllDirectories))
{
    // Read the packages.config file...
}

相关文章

原文地址:http://msdn.microsoft.com/en-us/magazine/cc163...
前言 随着近些年微服务的流行,有越来越多的开发者和团队所采...
最近因为比较忙,好久没有写博客了,这篇主要给大家分享一下...
在多核CPU在今天和不久的将来,计算机将拥有更多的内核,Mic...
c语言输入成绩怎么判断等级
字符型数据在内存中的存储形式是什么