Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm working in a creation of a new system that should be able to change the presentation layer without trouble, also be able to comport web-services, shop areas, internal control of data, creation of reports, multiple web portals, etc.

Following this post about the "benefits of multiple Projects and One Solution" on Stackoverflow also in some self-experience I came with the idea of the following structure.

  • TestProject.BLL (Business)
  • TestProject.DAL (Persistence (Mappings, Conventions etc))
  • TestProject.WEB (Presentation Layer)
  • TestProject.BASE (Framework)

But, after some search on the web, I found that those project are not always the type of "ASP.NET Web Application".

My question is, what are the types that I should create each project? Should I build them as "Windows Forms Application" or what?

share|improve this question
I was not sure if I should post this on StackOverFlow or here. Please, if I posted some "off-topic" guide me to the correct place. – Michel Ayres Mar 19 '13 at 17:50
Related: How do you organize your projects? – Michel Ayres Mar 25 '13 at 18:06
up vote 6 down vote accepted

You want to create BLL, DAL and BASE as Class Library projects. You should ensure that no UI logic is included inside these projects, as you want them to be independant from the type of application you want to develop. Then create your presentation layer as a Windows Forms or a Web Application (or both!) and add references to your class libraries.

However, if you are not going to reuse any code outside of this single solution, then having multiple projects might be overkill. You may want to simply stick to folders if you do this only for organization purposes.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.