My question is about production workflow with NuGet packages for shared code.
Say we have project Pr1, that depends on NuGet package N1, that depends on package N2. Pr1 added as a reference projects for other projects within the solution. Those projects also have dependencies on packages N1 and N2.
Now imagine, I've made changes in N2 package. After that I need to update package version of N2 for N1, for Pr1 and also for every project that use N2 and Pr1 together, because if I don't do that, I can get runtime errors. The cause of them is in fact that assemblies is being copied to bin directory of dependent projects, and that version is not the same it was build against.
This workflow give a pain even greater than shared code in form of SVN-externals, but we are migrating to Git, and shared code is not the thing it can work effectively (subtrees and submodules is no the same as externals!).
Also, we have not only one solution of projects, but many, and dependency chain is much longer than for this toy example, so changing versions become very painful and give a filing of wasting of time.