2011-08-20 13 views
9

Estoy construyendo varios proyectos web asp.net mvc 3 diferentes, todo bajo una sola solución. Me gustaría poder utilizar algunas vistas en todos esos proyectos, ya que todos mostrarán lo mismo en 2 o 3 páginas diferentes (con algunas cosas personalizadas conectadas según la aplicación).posible compartir vistas en múltiples proyectos mvc 3

¿Es esto posible?

Respuesta

4

Lo único que se me ocurre es compilar su cshtml en un conjunto aparte (suponiendo que esté utilizando RAZOR). Ver here.

+0

esto parece prometedor ... ¡gracias! –

1

En general, no he visto muchos ejemplos de soluciones multi proyecto ASP.NET MVC. Porque no tiene sentido. Esto complica las cosas, no toma en cuenta areas, que posiblemente podría usarse para obtener el mismo tipo de experiencia, pero son una opción mucho mejor que los proyectos MVC múltiples. Luego está la cuestión de si los 3 proyectos tienen tanto en común que todos deberían estar en una sola solución. ¿Qué tipo de aplicaciones MVC tienes en realidad? ¿Qué hacen? La mayoría de las soluciones de muestra en línea son proyectos de MVC individuales y proyectos de bibliotecas de múltiples clases.

Ahora a la pregunta real ... Recientemente me encontré haciendo algo similar, en realidad no tenía varios proyectos en una sola solución, pero tenía diferentes proyectos independientes que se beneficiarían del uso de las Vistas de una sola, podríamos di el proyecto "maestro". Terminé creando el paquete Nuget para él. De hecho, también inyecté otras cosas en el paquete (scripts, estilos, imágenes, etc.) pero también podría usarlo para Views. Luego, simplemente agrega el paquete al siguiente proyecto e inserta los archivos en el paquete en el proyecto de destino. Lo que estoy tratando de decir es que su paquete no necesariamente tiene que contener código.

No entraré en detalles aquí, pero deberías investigarlo.

+4

Las soluciones de nivel empresarial a menudo requieren que los servicios SOA se separen en diferentes subdominios dentro del mismo producto. En esos casos, tiene proyectos separados que comparten bibliotecas comunes y puede incluir diseños comunes. –

Cuestiones relacionadas