How have others solved the problem of assembly hell in Helix? I am facing this issue in a current client and looking to for ideas on how to solve it. I have my own ideas but would like to hear other ideas.
The Problem:
The Helix architecture is all about creating separate projects to eliminate dependencies. However, in the process, it seems you might run into the old DLL Hell
problem.
By this I means that let's say you have 10 different foundation project, and maybe 20 different feature projects, and another 10 or so web site projects. All of this will eventually get deployed into a single /bin folder. Some of these projects may need newer package references than others. When all of this goes into the single /bin folder, you need to use the newest version of any given assembly. And of course, make sure your web.config file has the assembly redirection set upright.
My Question:
How have others solved this problem? If a project needs a newer version of a NuGet package
, do you find all references in other projects and update those? Do you use special deployment scripts? Other techniques, PowerShell scripts or tools?