A combination of both, including publishing my own libraries to nuget.org so I don't have to rewrite the same thing over and over, or, equally bad: copy-paste code between projects. The latter comes back to bite you when project diverge and you can't share fixes / enhancements any more (I've seen this on copy-pasted code at my work). My first nuget packages literally were so that I wouldn't have to write the same code twice - and that legacy continues. I don't think any of my packages have been used in only one place, and not having a central source of truth that can be fixed and easily propagated seems like a crazy idea to me. Libraries that I've made & found immensely useful across multiple apps include: - a duck-typer (duck-type objects or dictionaries to well-defined interfaces) - an ini file reader/writer - a management class for windows services (start/stop/restart/install/uninstall, etc) - container/manager for spinning up temporary databases for testing (mssql, mysql, sqlite, sqlce) & cleaning up once disposed - temporary http server, again for unit testing - spin up, add handlers, disposable pattern - an easy-to-use commandline arguments parser / mapper-to-an-object (because there was one that I liked, and the dev updated & broke things, and I thought "nuts, I can make that and have control over it" - miscellaneous utils like auto-deleting (via disposable pattern) temp files/folders, common reflection-based functionality, easy parallelisation, easy interaction with a sub-process (esp the I/O part), and some more For testing, I would imagine that you're either _not_ rolling your own unit test & assertion frameworks every time, or you're just not testing. I wanted smarter assertions that felt similar to JS-land ones, so I wrote NExpect. I'm happy to use nuget packages that are well-maintained & documented. I don't think anyone can do web work these days without nuget - I really don't think anyone is writing web servers from the ground up? Surely?
------------------------------------------------ If you say that getting the money is the most important thing You will spend your life completely wasting your time You will be doing things you don't like doing In order to go on living That is, to go on doing things you don't like doing Which is stupid. - Alan Watts https://www.youtube.com/watch?v=-gXTZM\_uPMY