Skip to content

dotnet-deps is a CLI tool and library written in Rust for listing dependencies between .NET projects and packages.

License

Notifications You must be signed in to change notification settings

filipesilva-l/dotnet-lens

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotnet-lens

dotnet-lens is a library for listing dependencies between .NET projects and packages.

This library provides functionality to parse .NET project files (.csproj, .fsproj, .vbproj) and extract information about project dependencies, including project references and package references.

Overview

The main components of this library include:

  • Project: A struct representing a .NET project, including its language, name, path, target framework, project references, and package references.
  • ProjectLanguage: An enum representing the language of the project based on the file extension.
  • ProjectReference: A struct representing a reference to another project.
  • PackageReference: A struct representing a reference to a NuGet package.

Modules

  • parser: A module for parsing .NET project files and extracting dependency information.
  • search: A module for searching .NET project files in a directory.

Features

  • serde: Adds support for serde serialization and deserialization for the Project struct and adjacent types

Examples

Here is a brief example demonstrating how to use the Project struct and its methods:

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());
    }
}

About

dotnet-deps is a CLI tool and library written in Rust for listing dependencies between .NET projects and packages.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages