Subversion y uso de IIS para el desarrollo de ASP.NET

votos
1

Soy un novato total para SVN y no he podido encontrar una respuesta para la siguiente situación.

Tengo una aplicación web ASP .NET 2.0 que estoy desarrollando. Estoy utilizando mi IIS local como el servidor web de desarrollo (es decir, no el servidor de desarrollo web de Visual Studio). Mi entorno de desarrollo es VS2005, Vista, IIS7, TortoiseSVN / AnkhSVN. VisualSVN está instalado en el servidor.

Mis archivos .sln y bibliotecas de clases, etc. se encuentran en la carpeta ** C: \ Localsource \ Projects \ ProjectName **, y mis archivos .aspx están en mi carpeta ** C: \ inetpub \ wwwroot \ ProjectName **.

Puedo configurar el repositorio para ** C: \ Localsource \ Projects \ ProjectName ** bien, pero no puedo pensar en una forma de configurarlo para la carpeta IIS también en el mismo repositorio.

¿Cuál es la mejor manera de lidiar con este entorno de desarrollo en SVN?

Muchas gracias,

Hormiga

Publicado el 09/12/2008 a las 15:46
fuente por usuario
En otros idiomas...                            


7 respuestas

votos
4

En una solución en Visual Studio puede tener un proyecto de biblioteca de clase que generalmente está en un directorio debajo del archivo .sln.

En este caso, también tiene un proyecto web dentro de la solución pero NO debajo del archivo .sln en la estructura del directorio de archivos.

Se unirá a este proyecto a través de HTTP no a través de la ruta de archivo local.

IIS administrará esto como http: // localhost / webapp y de manera predeterminada lo colocará en c: \ inetpub \ wwwroot \ webapp. Los archivos en la carpeta webapp no ​​estarán en el repositorio ya que no están en la jerarquía de la solución y la biblioteca de clases. Esta es su pregunta sobre cómo solucionarlo.

Mi respuesta es mover http: // localhost / webapp para que apunte a una carpeta que se encuentra debajo del archivo .sln y junto al directorio de la biblioteca de clases, luego puede ir todo en el repositorio.

La mejor práctica es separar la biblioteca de clases y la aplicación web para ayudar a reutilizar el código y desacoplar la lógica del sitio web.

Respondida el 09/12/2008 a las 17:09
fuente por usuario

votos
2

¿No puede simplemente señalar IIS a C: \ Localsource \ Projects \ ProjectName y establecer los permisos?

Respondida el 09/12/2008 a las 15:55
fuente por usuario

votos
0

Robar,

¿Por qué considera un archivo .aspx una salida de la base de código?

Es parte de la base de código. No es un resultado después de la compilación, por ejemplo.

Solo me pregunto?

Respondida el 09/12/2008 a las 22:50
fuente por usuario

votos
0

Creo que es posible que desee separar esto en dos problemas, siguiendo esta recomendación de Dillorscroft.

Primero, con respecto al material en su servidor de desarrollo que se publica en el sitio de producción, creo que necesita control de versión para eso. Primero para que pueda revertir cualquier página, y también puede decidir cuándo tiene un nivel estable del sitio de desarrollo que desea extraer a producción. (Me gustaría obtener eso desde el sistema de control de origen en una imagen del sitio y luego sincronizar esa imagen con el sitio de producción.)

Entonces, para la primera parte, estamos hablando de versionar las páginas web y todo el material personalizado del lado del servidor que soporta el sitio web.

En segundo lugar, con respecto al desarrollo de los componentes que se utilizan en el sitio, necesitan sus propios proyectos de desarrollo, ya que es el resultado que va al sitio de desarrollo, no a todas las fuentes, bibliotecas, etc. que el componente está construido. con. Por lo tanto, estos tendrán su propio árbol de desarrollo de proyectos (piense en ello como si estuviera construyendo una biblioteca que será utilizada por otros proyectos de desarrollo, aunque en este caso los otros proyectos son páginas web). Entonces, lo único que debería aparecer en IIS es el componente "desplegado" en el sitio de desarrollo.

Parece que hay tres preguntas críticas para usted:

  1. Cómo se maneja el desarrollo de las pruebas que deben ir en contra del sitio web y dónde se controla la versión (suponiendo que no pertenecen al sitio web)

  2. Con qué facilidad se puede organizar para asegurarse de que todo el contenido del sitio web de desarrollo se mantenga bajo control de versiones y se registre y se elimine de manera adecuada. (Esto tiene que ver con las herramientas que usa para editar páginas web y otros problemas del lado del servidor que no sean componentes desarrollados a un lado).

  3. Toma fácilmente componentes desarrollados de los proyectos que los producen en el sitio de desarrollo y haz que se registren allí.

Mi solución para (2) y para el control de versiones del sitio web de desarrollo es utilizar la integración de Visual Source Safe con las extensiones de IIS y FrontPage que coloca el sitio bajo control de versión. Los componentes producidos a partir de otros proyectos de desarrollo se asignan al proyecto del servidor compartiendo VSS.

Para SVN, supongo que (1) desea ver si hay un adaptador SVN que IIS reconocerá como un sistema de control de fuente externo y, de cualquier manera, (2) tener una disciplina que tome la entrega de componentes de sus proyectos de construcción en el proyecto general del sitio web.

Respondida el 09/12/2008 a las 17:32
fuente por usuario

votos
0

La carpeta IIS no es el resultado de la base de código que forma parte de la aplicación. No es una salida CGI ni nada, ¡sino realmente los scripts para ejecutar la aplicación!

Estas son las páginas .aspx que tendrán controles de usuario y HTML para ejecutar realmente la aplicación. Es parte de la aplicación, pero se separó de la solución VS Studio.

La forma más fácil es tener una solución y luego C: \ Localsource \ Projects \ ProjectName \ WEBSITE.

Señale IIS en esa carpeta también.

Respondida el 09/12/2008 a las 16:49
fuente por usuario

votos
0

OK, puedo estar siendo estúpido aquí, pero ... ¿Por qué necesitas agregar la carpeta IIS (es decir, el resultado de la base de código) a tu repositorio?

Actualizar

Creo que debería aclarar esto un poco más. Lo que quiero decir es que no estoy seguro de por qué ASPX está separado del proyecto de todos modos. ¿Qué hay de malo en un proyecto web y n Proyectos de biblioteca de clase en una solución, agregado a su repositorio ... Luego publica en cada nueva versión ...

Si se trata simplemente de " podría ser más fácil deshacer el resultado publicado ", entonces que así sea, solo tenía curiosidad ya que no había visto a muchas personas trabajar de esa manera.

Despliegue de soluciones en esta estructura sería mucho más fácil también ..

Respondida el 09/12/2008 a las 16:19
fuente por usuario

votos
0

Hmmm - Buen punto. Estaba configurado así cuando llegué aquí, y Visual Studio siempre crea sitios web en la carpeta wwwroot, así que asumí que wwwroot estaba justo donde tenían que ir.

Tal vez tenga que pensar en hacer un poco de reorganización ...

¡Gracias!

Respondida el 09/12/2008 a las 16:10
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more