I have a project with quite a few dependencies and would like to cut down on the number of assemblies being distributed. My project depends on external 3rd party dependencies such as Oracle.DataAccess and log4net. I am thinking if I could distribute this as one assembly as this is a sort of common utilities library and used in several of my other projects.
Should I include 3rd party dependencies when I am doing the merging of my assemblies or should I leave those out of the merge?
What happens if I would merge all assemblies including log4net and Oracle.DataAccess into one assembly say CommonUtils.dll. In MyOtherProject I would add a reference to CommonUtils.dll and as I would be using log4net in MyOtherProject as well I would add a reference to a perhaps more recent version of log4net. Would I not run into problems with ambiguity and which assembly I would be referring to in the using statments? Is there a workaround?