Do you often work on a .net solution with many projects?
Do you ever find Newtonsoft.Json is installed with different versions across the whole solution?
And do you find some nuget packages are 5 years old that never have been updated or even been no longer maintained and unpublished?
Or find your projects/solutions are using pre-released packages that are not very reliable for production usage?
I have been struggling with these stuff during most of my projects. It is not a difficult task to fix them up, but it definitely requires some sort of trigger to examine the above scenarios regularly from time to time.
So I am wondering if I can make it part of the CI/CD process, regularly perform checks against consumed nuget packages, for solutions/projects. With nuget.org’s public API and I chuck in some dotnet core to build a little console app to achieve sanity triage of all these installed nuget dependencies. And it works out really well for me.
NuSight is tiny .net core console app I built to help your triage your .net solutions for the nuget packages. It is open source and you can find the source code from github. Also it has been published to nuget.org as a dotnet tool
*This is a .net tool that analyze your solution folder, discover all your project files and diagnose all the nuget…*www.nuget.org
To install it and use it, you need dotnet CLI and run this command,
dotnet tool install --global NuSight
[Note]: # Maintainer Must-Haves
name: Build-Nusight on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup .NET Core uses: actions/setup-dotnet@v1 with: dotnet-version: 3.1.301 - name: Install dependencies working-directory: ./NuSightConsole run: dotnet restore - name: Build working-directory: ./NuSightConsole run: dotnet build --configuration Release --no-restore - name: Nuget triage working-directory: ./NuSightConsole run: | dotnet tool install -g NuSight nusight list -o -i -p -u