I have been reading through many blogs, the MSDN website, and Google search results trying to figure this out...

At what point, or in what situations would someone ever want to have multiple projects under one solution?

I have thought about having a project that contains forms and some "core" elements and another class library project that would contain SQL connection string builders, command interpreters for a console in a window and a data verification routine...the problem is, doesn't that create an exe and a dll file that need to be distributed?

If so, what advantage is there to this? Wouldn't it just be better to cram everything into the exe instead of splitting it?

Does it possibly make updates in the future easier?

Any guidance is appreciated.

6 Years
Discussion Span
Last Post by zachattack05

Well its good if you have user controls, VS will auto add your control to the toolbox and will also build the control when you compile your app that uses it.

also its nice when working on multiple DLLs or a project that uses DLLs that you have/written source for to have them all in one project so they all get built together and for debugging purposes.


Generally I like to have at least 2 projects: 1 for my UI, and one for my logic. If you're doing a multi-tied application, I'd go even further, and have projects for UI, business logic, and data access.

If the application can be broken down into other sub-applications, I'd make individual projects for each (say, a banking application that has loan approval functions and report writing... report writing isn't tied directly to loan approval, so it is another application, technically)


So is it just for programmer preference? There is no real benefit to it other than programmer organization?


It allows for more modular programming. If you need to make a change to a piece of your application, you just need to distribute the changed DLL/EXE, instead of having to redistribute your entire application.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.