Rules to Better Nuget

​Since 1990, SSW has supported the developer community by publishing all our best practices and rules for everyone to see. 

If you still need help, visit SSW Consulting Services ​and book in a consultant.​​

Hold on a second! How would you like to view this content?
Just the title! A brief blurb! Gimme everything!
  1. Do not avoid checking in nuget or npm packages into source control?

    ​Reasons for avoiding checking Nuget or Npm packages
    1. Distributed version control systems, such as Git, include full copies of every version of every file within the repository. Binary files that are frequently updated lead to significant bloat and lengthens the time it takes to clone the repository.
    2. When packages are included in the repository, developers are liable to add references directly to package contents on disk rather than referencing packages through NuGet, which can lead to hard-coded path names in the project.

    nugetpackages.png  

    Figure:  Do not have a folder called "packages" or "Node_Modules" ​


    Read more about how to ​omit NuGet packages in source control system​

    For better package management , may consider using the Package Management tool in TFS

  2. Do you create a private repository for reusable internal code?

    Nuget is great for managing publicly available packages, but it’s also surprisingly easy to create and publish your own packages to your own nuget server for internal code reuse across multiple solutions.

    private-nuget-1.png 
    Figure: You can create your own nuget server by simply creating a new asp.net web project and adding the Nuget.Server package
    private-nuget-2.png
    Figure: Add your new server as a package source under Tools | Options | Nuget Package Manager | Package Sources
  3. Do you update your packages regularly?

    Nuget makes it easy to find and apply package updates – but this still must be performed manually.

    Each package update should contain improvements but also involves a small amount of risk in the form of breaking changes or regressions.

    Updating often can help mitigate this risk by ensuring that each individual update is smaller.

    Recommended practice is to apply package updates at the start of a sprint so that there is time to find and resolve issues introduced by the update.​

    ​​update-nuget.png
    Figure: Nuget package updates