#reference #net #projects #dotnet #package #component #listing

dotnet-lens

dotnet-lens 是一个用于列出 .NET 项目和包之间依赖关系的库

1 个不稳定版本

0.1.0 2024 年 8 月 4 日

#8#listing

Download history 27/week @ 2024-07-29 93/week @ 2024-08-05

120 每月下载量

MIT 许可

29KB
471 代码行数(不包括注释)

dotnet-lens

dotnet-lens 是一个用于列出 .NET 项目和包之间依赖关系的库。

该库提供了解析 .NET 项目文件(.csproj.fsproj.vbproj)并提取项目依赖信息的功能,包括项目引用和包引用。

概述

该库的主要组件包括

  • Project:表示 .NET 项目的结构体,包括其语言、名称、路径、目标框架、项目引用和包引用。
  • ProjectLanguage:表示项目语言的枚举,基于文件扩展名。
  • ProjectReference:表示对另一个项目的引用的结构体。
  • PackageReference:表示对 NuGet 包的引用的结构体。

模块

  • parser:用于解析 .NET 项目文件并提取依赖信息的模块。
  • search:用于在目录中搜索 .NET 项目文件的模块。

功能

  • serde:为 Project 结构体及其相关类型添加了 serde 序列化和反序列化支持

示例

以下是一个简短的示例,展示如何使用 Project 结构体及其方法

use dotnet_lens::{Project, search};

let projects_paths = search::search_projects(&"path/to/repository")?;

for path in projects_paths {
    let project = Project::new(path)?;

    for package_reference in project.package_references() {
        println!("{}: {}", package_reference.name(), package_reference.version());
    }
}

依赖项

~0.8–1.4MB
~28K SLoC