加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 08:17:37 所属栏目:百科 来源:网络整理
导读:读取(最好是通过C#)package.config文件中列出的软件包的最佳方法是什么? 在我们的源代码库中,我有很多解决方案和项目,同样还有很多packages.config文件.我正在尝试在我的源代码存储库中构建一个正在使用的包(和版本)的整合列表. 我可以看到有一个NuGet.Core
读取(最好是通过C#)package.config文件中列出的软件包的最佳方法是什么?

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

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

谢谢

解决方法

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

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

string fileName = @"c:fullpathtopackages.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:rootpath","packages.config",SearchOption.AllDirectories))
{
    // Read the packages.config file...
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读