Pregunta

Tenemos dos sitios ASP.NET (basado en EPiServer).
El uso de controles Telerik ASP.NET.
Tenemos algunas funciones que desea tener disponibles en ambos sitios.
En este momento uno de los sitios utilizan webparts / controles de usuario y los controles de usuario otros usos.

¿Hay alguna manera de compartir la funcionalidad entre estos sitios?
Lo que me gustaría es ser capaz de usercontrols compartir entre los sitios.

¿Fue útil?

Solución

Debido a que su hablando de controles de usuario Asumo que también tiene archivos .ascx que forman parte de los controles de usuario, lo que hace que este complicado.

supongo que la solución ideal sería mover todo en los controles de servidor, de esa manera usted podría hacer referencia al ensamblado, pero si usted está heredando de otros controles que utilizan archivos .ascx, su poco pegado con ellos.

Una forma de manejar que es usar el archivo de capacidades de enlace en Visual Studio (Agregar archivo existente, haga clic en la flecha hacia abajo, seleccione la opción de enlace) para compartir el mismo archivo físico entre los proyectos dentro de la misma solución. Esto no es lo ideal, simplemente porque usted tiene que asegurarse de que los archivos se copian en ascx ambos sitios antes del despliegue (lo he hecho con un guión posterior a la generación anterior), pero hay mucho que todavía puede ser bastante frágil.

Otra opción que es técnicamente más compleja, pero probablemente un "mejor" manera de manejar sería utilizar un Proveedor de ruta virtual para hacer el trabajo por usted. Aquí es un artículo que habla sobre el uso de los proveedores de ruta de acceso virtual para hacer el tipo de cosas que están queriendo hacer.

Otros consejos

Iniciar un nuevo proyecto de biblioteca de clases, la referencia de ese proyecto, tanto en sus proyectos de sitio, a continuación, extraiga los controles comunes y código en el proyecto de la biblioteca.

Como se ha mencionado que podría poner los archivos en un directorio de VPP en el entorno real y de esa manera sólo tiene que copiar ASCX-archivos a una carpeta de un código-frente-actualización de dos sitios. Código subyacente actualizaciones necesitarían la DLL construido y sobrescrito para ambos sitios sin embargo.

Si está usando SVN en su entorno de desarrollo que podría también configurar un SVN:. Carpeta externa enlazado desde uno de los proyectos y de esa manera sólo tienen el código y del historial de revisiones en un repositorio

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top