What are compelling arguments to use NuGet packages?

Rod Falanga 561 Reputation points
2021-01-31T21:49:20.46+00:00

The development team I'm on at work, seems to detest using NuGet for anything. I've been working with them for 5+ years. They've always been this way, but in the last year or so they've become more adamant about not wanting to use NuGet for anything. Last Friday was one of the worse days I've had trying to encourage my coworkers to use NuGet. We were experiencing network issues, making it difficult at best, or impossible at worst, to reach the Internet. This colleague had been working on a project, which stopped building in our TFS 2015 build server. So, he asked me for help. There were various causes that were being revealed in the build server's logs. But before we could get into them my colleague just started gutting the project of all NuGet packages, replacing them all with some DLLs he got from some other Visual Studio project.

As an aside, this practice has been for longer than I've been there, their favored way of bringing some functionality into a project. They either know of another project that has a DLL that will do what is needed, or at least close to it. Either that or they go looking throughout all the TFS projects for a DLL that will do what they want. Then they'll get that DLL and copy it into the project they're working on, then go on from there. They do this over and over again, until God only knows where the DLL originally was, and no one knows how old it is.

I think that the issue, last Friday, was Internet connectivity. However, I couldn't show that, because I don't know what URL VS 2019 uses to bring in a NuGet package, or what VS 2015 (on the build server) uses to pull in a NuGet package. As an aside, I'd love to know what the URL is that VS 2015 or 2019 uses to bring in NuGet packages.

I suspect that their hatred of NuGet would extend to any package management solution, such as npm.

What I would like to know is what compelling reasons are there for using NuGet over just copying DLLs from one project to another ad nauseum?

.NET
.NET
Microsoft Technologies based on the .NET software framework.
3,346 questions
Visual Studio
Visual Studio
A family of Microsoft suites of integrated development tools for building applications for Windows, the web and mobile devices.
4,578 questions
0 comments No comments
{count} vote

Accepted answer
  1. Dylan Zhu-MSFT 6,406 Reputation points
    2021-02-01T08:43:42.777+00:00

    Hi RodFalanga,

    As far as I know, the main reason is to better manage your dlls.

    • Manage all nuget packages on cloud server(private/public)
    • Update/Restore nuget packages on local environment
    • If A package depends on B package, when you install A, B will also be download it automatically.

    The more information: An introduction to NuGet Best Regards, Dylan

    If the answer is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our * *documentation* to enable e-mail notifications if you want to receive the related email notification for this thread.**

    2 people found this answer helpful.

2 additional answers

Sort by: Most helpful
  1. Jon Douglas 6 Reputation points Microsoft Employee
    2021-02-23T23:07:21.623+00:00

    There's many benefits of using a package manager. I'd encourage you to share some of the best articles with your team that address this topic:

    Beyond what they solve technically, they also provide many benefits as an ecosystem allowing people to leverage the code of many open source contributors(i.e. standing on the shoulders of giants):

    With over 5 million open source packages across 37 package managers, you're able to build faster than ever before.

    NuGet for example gives you access to over 245,000 packages alone!

    So while there are many reasons as to why & how you might use a package manager, I think the most important reason is that it saves you time, which is arguably the most valuable thing we have as humans.

    1 person found this answer helpful.
    0 comments No comments

  2. Yossu 11 Reputation points
    2022-11-21T14:48:59.71+00:00

    I don't want to depress you, but from my experience (34 years of software development), and from following a lot of discussions on workplace.stackexchange.com, I doubt you will convince them whatever you do. People who are stuck in such a mindset aren't going to be convinced by the most erudite articles explaining why they should change their working habits.

    If I were you (and I know this is hard), I would either put up with it (you're allowed to mutter to yourself of course!), or brush up your resume. If it's you against the team, you are going to lose. You're better off quitting while you have a job, rather than being, erm, asked to leave due to your heretical ideas.

    Sorry, probably not the answer you want to hear, but you might thank me in the long run.

    1 person found this answer helpful.