package-url/packageurl-dotnet
GitHub: package-url/packageurl-dotnet
一个 .NET 解析器,用于处理与构建符合 ECMA-427 规范的 Package URL。
Stars: 16 | Forks: 14
# packageurl-dotnet
[][build-url]
[][license-url]
[][nuget-url]
一个用于 [Package URLs](https://ecma-tc54.github.io/ECMA-427/)(ECMA-427)的 .NET 解析器。处理类似 `pkg:nuget/Newtonsoft.Json@13.0.1` 的字符串——将其解析、构建,并返回规范形式。
目标 .NET Standard 2.0,因此适用于从 .NET Framework 4.6.1 到 .NET 10+ 的所有环境。
## 安装
```
dotnet add package packageurl-dotnet
```
或在项目文件中添加:
```
```
## 用法
解析 PURL 字符串:
```
var purl = new PackageURL("pkg:nuget/Newtonsoft.Json@13.0.1");
Console.WriteLine(purl.Type); // nuget
Console.WriteLine(purl.Name); // Newtonsoft.Json
Console.WriteLine(purl.Version); // 13.0.1
```
从组件构建:
```
var purl = new PackageURL(
type: "maven",
@namespace: "org.apache.commons",
name: "commons-lang3",
version: "3.14.0",
qualifiers: null,
subpath: null);
Console.WriteLine(purl.ToString());
// pkg:maven/org.apache.commons/commons-lang3@3.14.0
```
如果只需要类型和名称,也有双参数简写形式:
```
var purl = new PackageURL("npm", "lodash");
```
## 从源代码构建
需要 .NET SDK 10+。
```
dotnet pack -c Release
dotnet test -c Release ./tests
```
或者在 Visual Studio 2022+ 中打开 `PackageUrl.slnx`,并通过测试资源管理器运行测试。
## 许可证
[MIT](LICENSE)
标签:Cilium, ECMA-427, Maven, .NET 10, .NET Framework, NET Standard, NPM, NuGet, Package URL, PURL, 依赖管理, 包管理, 多人体追踪, 字符串解析, 安全可观测性, 开源, 漏洞验证, 版本控制, 组件识别, 解析器, 软件供应链