Para mi entender, puedo ver que tiene dos preocupaciones aquí:
1. Cómo estructurar el proyecto Sitecore
Soy un desarrollador de Sitecore durante más de 3 años, basado en mi experiencia, la mejor práctica es crear un único proyecto de Sitecore que sea la capa más alta de su solución No necesita instalar dlls de sitecore para todo el proyecto, simplemente mantenga su código anterior tal como estaba y gírelo al código base. Por ejemplo, acabo de terminar un proyecto que el cliente quiere mover a la utilización de Sitecore, la solución ya estaba allí, cuenta con 4 proyectos:
- ABC.Web ==> más alta capa
- ABC.Data ==> trabajar con capas de datos
- ABC.Services => capa de manipulación de negocio
- ABC.Domain ==> capa común
Hemos creado un nuevo proyecto que se deben instalar archivos DLL Sitecore, que en realidad sustituir ABC.Web (capa más alta) que contiene todo el código de Sitecore MVC y no cambió nada al código anterior. A partir de ese punto, podemos trabajar tanto con los datos del sistema anterior (haciendo referencia a los dlls ABC.Services) como desde Sitecore también.
2. ¿Cómo se instalan los archivos necesarios en producción para admitir varios sitios?
Sitecore admite multisitio estructurando el árbol de contenido de Sitecore y una pequeña configuración. NO DEBES crear sitios web separados en IIS, , en realidad son UN sitio web con diferentes dominios. En el archivo de configuración llamado SiteDefinition.config (o puedes agregar tu propio archivo de configuración), básicamente configuras un dominio con un elemento de inicio Sitecore reconoce el dominio que coincide con el archivo de configuración y redireccionará al el elemento de inicio correspondiente. Por ejemplo, en la imagen, creé 2 sitios (esencialmente, son 2 ramas del árbol de contenido del sitecore) con los elementos de inicio son (misitio1 y MySite2)
esta es mi config
<sites>
<site name="MySite1" patch:before="site[@name='website']"
virtualFolder="/"
physicalFolder="/"
rootPath="/sitecore/content"
startItem="/content/MySite1/home"
database="web"
domain="extranet"
allowDebug="true"
cacheHtml="true"
htmlCacheSize="50MB"
enablePreview="true"
enableWebEdit="true"
enableDebugger="true"
disableClientData="false"/>
<site name="MySite2" patch:before="site[@name='website']"
virtualFolder="/"
physicalFolder="/"
rootPath="/sitecore/content"
startItem="/content/MySite2/home"
database="web"
domain="extranet"
allowDebug="true"
cacheHtml="true"
htmlCacheSize="50MB"
enablePreview="true"
enableWebEdit="true"
enableDebugger="true"
disableClientData="false"/>
</sites>
Puede hacer referencia a este tutorial para más detalles
https://briancaos.wordpress.com/2010/03/01/working-with-multiple-sites-in-sitecore/