Skip to content

2025.02

Choose a tag to compare

@github-actions github-actions released this 26 May 20:31
· 24 commits to master since this release

NetTools 2025.02 – Release Notes

Major Enhancements

  • Dependency Injection Refactor:

    • Core services and commands (StandardizeCommand, RemoveCommand, etc.) are now registered and resolved via Microsoft.Extensions.DependencyInjection. This improves code modularity, testability, and extensibility.
    • The main entry point (Program.cs) was refactored to use dependency injection for command and service instantiation.
  • Improved Testability and Abstractions:

    • Introduced several new interfaces and their implementations:
      • IProcessRunner for running system processes.
      • IXDocumentLoader for XML document loading.
      • IXmlWriterWrapper for writing XML.
    • NetTools core services now depend on abstractions instead of directly on static APIs, making the codebase more maintainable and easier to test.
  • File System Abstraction:

    • Integrated System.IO.Abstractions to abstract file system operations, further improving testability and platform support.

Command & Service Updates

  • RemoveCommand & StandardizeCommand:

    • Refactored to use dependency-injected services.
    • Enhanced logic for project and package discovery/selection.
    • More robust handling of solution file prompts and project selection.
  • DotnetCommandRunner:

    • Refactored to be instance-based and fully injectable.
    • Now uses abstractions for process execution and console output.
    • Enhanced method signatures for greater flexibility in running dotnet commands.
  • NugetVersionStandardizer:

    • Refactored for dependency injection and improved XML handling.
    • Now uses injected file system and XML writer/loader abstractions throughout.
    • Improved user prompts and status messages, now using the injected console.
  • SolutionExplorer:

    • Refactored from a static to an injectable service.
    • Uses file system abstraction and injected console.

New Scripts

  • Added Scripts/clean-solution.ps1:
    • PowerShell script to recursively remove bin and obj folders from the current directory, helping clean up build artifacts.

Dependency Updates

  • New NuGet Packages:
    • Microsoft.Extensions.DependencyInjection (9.0.5)
    • System.IO.Abstractions (22.0.14)

Other Notable Changes

  • Improved CLI argument handling and user prompts.
  • Enhanced XML read/write operations for package version standardization.
  • Improved error handling and progress reporting for project and package operations.
  • Various code cleanups and improved separation of concerns throughout the codebase.

This release represents a significant step toward a more robust, maintainable, and extensible CLI tool, featuring better testability, modularity, and user experience.