We use Nuget for our internal development to allow us to share code across teams. We run into issues however when one person is working on code that will be deployed across multiple nuget packages at the same time. For instance
A depends on B which depends on C.
A, B and C have their artifacts pushed to Nuget and that's how we manage the dependencies between A, B and C. The trouble we find is that if a developer wants to make changes in C and quickly see those changes reflected in A, they have to go through the following process.
- Make change in C.
- Push change up to git
- CI picks up change to C and builds and deploys new nuget package.
- Go into B and update reference to C using a nuget update package command.
- Push up the change to the packages.config file up to git
- CI picks up change to B and builds and deploys new nuget package for B
- Now open A and change reference to B and nuget update package
- Make changes in A to go along with the changes in B(and transitively C)
This seems extremely painful and is causing some of our developers to question the choice of Nuget for our internally developed code. Everyone still like it for consuming external packages.
Is there any better workflow for using Nuget internally?