¿Extender dinámicamente las características de una aplicación?

Recientemente me encontré con uncamino para desarrollar módulos de aplicación conectables al usar ASP.NET MVC3 / 4 y me encantó la simplicidad del enfoque. Actualmente, tengo mis aplicaciones estructuradas de la siguiente manera:

Por lo tanto, cualquier persona que desee desarrollar una extensión para mi aplicación, sigue el enfoque descrito anteriormente.tutorial y crea una extensión que permanece en elAreas carpeta. Me imagino que cuando es nuevoAreas (creado como nuevos proyectos) se agregan,.pdb los archivos se crean y se colocan en elbin directorio. Mi pregunta es la siguiente:

¿Cómo se distribuye elAreas ¿Como módulos enchufables?¿Cómo cambio el siguiente código para que cuando alguien suelte un nuevoArea en elbin carpeta, la aplicación lo recoge automáticamente y crea un enlace? ¿Y qué debería hacer el autor del plugin para habilitar esto?

En mi_Layout.cshtml (diseño compartido global), hago lo siguiente para construir los enlaces:

<ul>
      <li>@Html.ActionLink("Area1", "Index", "Area1", new { Area = "Area1" }, null)</li>
      <li>@Html.ActionLink("Area2", "Index", "Area2", new { Area = "Area2" }, null)</li>
      <li>@Html.ActionLink("Area3", "Index", "Area3", new { Area = "Area3" }, null)</li>
</ul>

Para simplificar, suponga que los nombres de área son únicos. ¿Alguna sugerencia sobre cómo hacer esto?

Respuestas a la pregunta(5)

Su respuesta a la pregunta