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?
2
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.