[VB.Net] Building a modular/pluggable web application

We're aiming to build a modular/pluggable web application with the following structure:

* Core Web App: top-level MasterPage, BasePage, BaseControl, Authentication/Authorization, Shared Components: CSS, Images, JavaScript libraries, Common ASCX/Server Controls, etc

* Module/Plug-in 1: ASPX Pages (and code behind), sub MasterPage, Private Components: css/images/javascript, ASCX controls, etc

* Module/Plug-in 2: ASPX Pages (and code behind), sub MasterPage, Private Components: css/images/javascript, ASCX controls, etc

In this case, the core application has a set of classes and resources that all plug-ins will depend on, but the core does not depend on any of the plug-ins.

Each module/plug-in is a separate mini application unto its own, rather than a discrete module meant for placing on any chosen page. It will have its own internal structure and relationships, yet be housed within the core application.

For example, if you have a site like this: http://mysite/

Then, plug-in 1 should be accessed via http://mysite/Plug-in1, and any functions therein by http://mysite/Plug-in/Function1.aspx ... etc etc

If we were to implement this in a single-solution / Web Application Project, by putting each plug-in in its own folder, the code would all compile into one web application DLL that will need to be deployed. And that's not what we're looking for, because the plug-ins are meant to be optional extensions to the core application.

We want to be able to distribute the core application, and easily add plug-ins to it lateron.

Any ideas how to go about this?
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Refael AckermannCommented:
Use can use one main Web-Aplication-Project (WAP), as the core, and multiple Plugin Sub-WAPs that (1) Refrence the Core-WAP (2) Are set to run as part of the bigger Web-Application(http://blogs.msdn.com/webdevtools/archive/2006/07/01/652986.aspx)

An other interesting option is to use Web Application Project Libraries:

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
MarjaRAuthor Commented:
Thank you for your fast reply. I will look into those options and get back here.
MarjaRAuthor Commented:
I think the sub-projects are just what I need. Thank you for pointing me towards http://blogs.msdn.com/webdevtools/archive/2006/07/01/652986.aspx !
Refael AckermannCommented:
Happy to assist.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.