Had an interesting discussion with our architect. It was related to replacing a plain DLL reference with a NuGet package. His worry was "If it is possible for single NuGet package to add multiple DLL references, then NuGet package authors can decide to add a new DLL to the package. So when we update the NuGet package a new DLL is added, but our installer won't know about it, so it won't include it in the installation. And this problem will be revealed only when testers get to test the installed build of the software". And this would be reason not to use NuGet, as using plain binary references would make things obvious when new DLL was added.
My stance on this problem is that the chance of this happening is too small to bother with. That NuGet package authors would consider this a breaking change and only make this change in a major release. And that mitigating this risk should not be by not using NuGet, but by creating test automation that stresses our installed software.
The question is : What is risk of the above happening? Of a NuGet package adding new DLL as a project reference in non-major release?