We have a team of 5 developers working on a product and are at a crossroads trying to determine a better way (if one exists) of managing development workflow and project dependencies. We currently have two solutions,
Client. Core references 8 projects as dependencies (not via NuGet).
Core is essentially an admin UI and REST API. Client, is a project template that will be replicated every time we have a new instance that needs to be customized.
Client references 4 of the same projects that
Core does. Again, both are solutions (.sln's) and both directly reference dependency projects.
For local development, developers currently branch from two separate repos - one for each solution. The developers' local environment must be set up so that the
Client can properly call the REST API locally. Local dev often requires changes to both
Client in order to test new features, etc.
Our issue is that at times our changes do not build on other developers' systems due to differing repo locations on the file system. This causes issues with the path to projects in the solution files and creates a lot of unnecessary extra work and frustration.
We are considering moving to a NuGet workflow (local, Test, and Prod NuGet servers), but that seems like a lot of extra overhead for the payoff. Can someone recommend a better solution for local, test, staging, prod development workflow for our small team?