DEMA Consulting library for caching NuGet packages on the local PC.
This library provides:
- NuGet Package Caching: Ensure NuGet packages are available in the local global packages cache
- NuGet Configuration Aware: Reads sources and global packages folder from the default NuGet
settings, mirroring
dotnetCLI behavior - Package Source Mapping: Supports NuGet package source mapping configuration
- Multi-Platform Support: Builds and runs on Windows, Linux, and macOS
- Multi-Runtime Support: Targets .NET Standard 2.0, .NET 8, 9, and 10
- Documentation Generation: Automated build notes, user guide, code quality reports, requirements, justifications, and trace matrix
- Linting Enforcement: markdownlint, cspell, and yamllint enforced on every CI run
- Continuous Compliance: Compliance evidence generated automatically on every CI run, following the Continuous Compliance methodology
- SonarCloud Integration: Quality gate and security analysis on every build
- Requirements Traceability: Requirements linked to passing tests with auto-generated trace matrix
Install the library using the .NET CLI:
dotnet add package DemaConsulting.NuGet.Cachingusing DemaConsulting.NuGet.Caching;
// Ensure a specific NuGet package version is available in the local global packages cache
string packagePath = await NuGetCache.EnsureCachedAsync("Newtonsoft.Json", "13.0.3");
Console.WriteLine($"Package cached at: {packagePath}");Generated documentation includes:
- Build Notes: Release information and changes
- User Guide: Comprehensive usage documentation
- Code Quality Report: CodeQL and SonarCloud analysis results
- Requirements: Functional and non-functional requirements
- Requirements Justifications: Detailed requirement rationale
- Trace Matrix: Requirements to test traceability
Copyright (c) DEMA Consulting. Licensed under the MIT License. See LICENSE for details.
By contributing to this project, you agree that your contributions will be licensed under the MIT License.