TrustRadius: an HG Insights company

NuGet

Score8 out of 10

3 Reviews and Ratings

What is NuGet?

NuGet is the package manager for .NET. The NuGet client tools provide the ability to produce and consume packages. The NuGet Gallery is the central package repository used by all package authors and consumers.

Categories & Use Cases

NuGet Package manager to manage , host and consume the packages

Use Cases and Deployment Scope

NuGet helps to create packages that can be shared over the public and private networks. The package mainly contains useful code in the form of dlls and the other necessary files required. The consumer of packages is mainly .Net projects. With the help of a visual studio, it can be easily downloaded and used.

Pros

  • Maintains package repository very well
  • Integration with the Visual Studio editor
  • Easy upload and downloads

Cons

  • Incomplete download resume in case of network disruptions
  • Adding user friendly platform to add and update the packages
  • Package creation option in Visual Studio

Most Important Features

  • Publish useful packages
  • Share the published packages across different projects
  • Using existing publicly available free packages

Return on Investment

  • Saves a rework by sharing the common functionalities across the projects
  • Helped to optimize the given package using a central repository
  • Helped to make use of existing useful packages

Other Software Used

Azure DevOps Server (formerly Team Foundation Server)

NuGet - Welcome to .NET world

Use Cases and Deployment Scope

We used NuGet as an artifact/dependency repository for a couple of .NET Framework / .NET Core projects that we worked on. We pointed to some public repositories for common, publicly available packages. And we maintained our own private, credentials-protected repositories for our proprietary packages at the same time. We also made the distinction between "testing" repositories & "production" ones for our private use.

Pros

  • The built-in package explorer / manager in Visual Studio work reliably
  • Integration with popular web-based repository manager is good
  • Command-line options are enough even for complex use cases like publishing to private, credentials-protected repositories

Cons

  • While Ivy / Maven dependencies could be managed completely in text-based format, it's difficult to do so with NuGet
  • Documents regarding enterprise use cases like pushing from automated pipelines could be improved
  • Managing NuGet dependencies between multiple projects could be a chore

Most Important Features

  • Dependency management
  • Storing / publishing built packages
  • Artifact repositories for dev work / automated pipelines

Return on Investment

  • For the way we worked, dependency management is something must-have
  • Having a place to reliably store / publish then later retrieve packages helps with setting new dev env & makes automated pipelines possible
  • We deliver built packages to customers straight from our repositories as well!

Alternatives Considered

Apache Maven and Gradle

Other Software Used

Visual Studio IDE, GoCD, Microsoft IIS