Como criar área ASP.NET MVC como um plugin DLL?

Aqui está o que eu quero alcançar, eu quero separar os AREAs do ASP.NET MVC como uma única DLL pura.

Blog.DLLFóruns.DLLFAQ.DLL

Cada um deles é uma área ASP.NET MVC individual, com suas próprias páginas CSHTML ou ASPX padrão. Instalar, migrar e manter muitas páginas, incluindo recursos, javascripts e assim por diante, são problemas reais para longo prazo. Como a maioria destes dificilmente mudará.

Meu site final será assim.

\MvcApplication
   \bin
      \MvcApplication.bin
      \Blog.dll
      \Forums.dll
   \Controllers
      \..
   \Models
      \..
   \Views
      \..
   \Global.asax
   \Web.config

Sem adicionar nada, apenas soltando Blog.dll, meu aplicativo deve suportar / blog e todas as suas páginas. Se eu quiser personalizar alguma coisa, do que eu posso adicionar área e adicionar apenas as páginas cshtml ..

\MvcApplication
   \bin
      \MvcApplication.bin
      \Blog.dll
      \Forums.dll
   \Areas
      \Blog
          \Views
              \Shared
                  \BlogLayout.cshtml <-- this will override the look
   \Controllers
      \..
   \Models
      \..
   \Views
      \..
   \Global.asax
   \Web.config

Isso ajudará a reutilizar os Plugins da Área do ASP.NET, simplesmente soltando a dll na pasta bin. No entanto, o web.config pode exigir algumas alterações, mas provavelmente salvaremos valores de configuração no banco de dados e a única coisa necessária será a "string de conexão do Entity Framework" no web.config.

Meus desafios (perguntas)

É possível? Com certeza me parece, mas haverá algum problema de reflexão / permissão?Como incluo exibições cshtml / aspx em uma DLL? Versões provavelmente compiladas? Eu vi alguns modelos de texto baseado em View Engines no codeplex, mas estou um pouco confuso sobre como realmente usá-los.E como faço para que o ViewEngine primeiro verifique se o arquivo de diretório físico existe ou não e, em seguida, analise o cshtml / aspx dentro da própria dll como arquivo de recurso?

questionAnswers(3)

yourAnswerToTheQuestion