Opinion on indirect references?

I was comparing SharpArch to Spring.NET earlier, and had some thoughts.

Both contain Core, Data and Web namespaces (as well as others). While SharpArch maintains them all in one assembly, Spring.NET does so in separate assemblies.

Initially, I liked this concept, because one could reference the Core without indirectly referencing something they didn’t need, like System.Web.

However, it later occurred to me that whether or not things were combined, they still operated within the .NET space and have equal access to the GAC.

So why not put things in one assembly, as long as individual elements in their namespaces do not make use of certain things?

Of course, I’m talking about a base-line assembly, not an actual business solution. Opinions?

i think it becomes easy to manage the code having them separate.

keeping them together with different namespace just make it little harder to find them for later changes unless put in same folder.