You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core项目中如何获取第三方依赖包的NOTICE.txt文件

获取.NET Core项目第三方包NOTICE.txt文件的命令行实现方法

1. 导出完整依赖包列表

先将项目所有依赖(含传递性依赖)导出为结构化的CSV文件,方便后续批量处理:

/usr/local/share/dotnet/dotnet list solFullPath package --include-transitive --format csv > dependencies.csv

使用--format csv参数可以让输出以逗号分隔,便于提取包名和版本号。

2. 批量下载并提取NOTICE.txt

可以通过Shell脚本实现自动化处理,步骤如下:

  • 创建存放NOTICE文件的目录:
mkdir -p notices
  • 编写脚本文件download-notices.sh:
#!/bin/bash
# 跳过CSV表头,逐行读取包名和版本
tail -n +2 dependencies.csv | while IFS=, read -r package version _; do
    # 构造NuGet官方源的包下载地址(转小写适配NuGet源格式)
    pkg_url="https://api.nuget.org/v3-flatcontainer/${package,,}/${version}/${package,,}.${version}.nupkg"
    temp_pkg="/tmp/${package}.${version}.nupkg"
    
    # 静默下载nupkg包
    wget -q "$pkg_url" -O "$temp_pkg"
    
    # 从nupkg中提取NOTICE.txt(若存在则保存到notices目录)
    unzip -p "$temp_pkg" "**/NOTICE.txt" > "./notices/${package}_${version}_NOTICE.txt" 2>/dev/null
    
    # 清理临时文件
    rm "$temp_pkg"
done
  • 赋予脚本执行权限并运行:
chmod +x download-notices.sh
./download-notices.sh

注意事项

  • 脚本默认使用NuGet官方源,若项目依赖私有源,需修改脚本中的pkg_url为私有源对应的包地址格式。
  • 部分第三方包可能没有包含NOTICE.txt文件,这类情况脚本会自动忽略错误,不会生成空文件。

内容的提问来源于stack exchange,提问作者user1541202

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 12:29:50