2011-05-22 15 views
7

Estoy creando una aplicación web en C# utilizando ASP.NET MVC y estoy usando el servidor MSSQL instalado en mi máquina.Web.config en el repositorio de código abierto

También quería publicar la aplicación como proyecto de código abierto y ejecutarla en el servidor de producción. ¿Debo agregar el archivo web.config al repositorio de código fuente? Si debo, cómo debería realizar un seguimiento de "versión de código abierto" (que señala en el MsSQL instalado en el servidor local) y versión de producción (señalando en mi hospedaje de web.config (estoy usando Mercurial).

Respuesta

3

la forma recomendada de hacer esto es como sigue:

  1. Crear una copia de la v pública ersion del archivo que desea que la gente use como punto de partida, y asígnele un nombre diferente al archivo real utilizable. En su caso, podría ser web.config.template. Asegúrate de que el archivo se pueda usar si acabas de renombrarlo.
  2. Indique a Mercurial que ignore el archivo real, es decir. web.config
  3. Si es posible, la cifra proceso de compilación si el archivo real está presente, y si no, haga una copia del archivo de plantilla en el archivo real
  4. Si el paso 3 no es posible, un archivo por lotes para hacer el archivo real es la siguiente mejor opción o instrucciones simples sobre cómo hacerlo.

Esto asegura que:

  1. No es una forma sencilla de conseguir el archivo de configuración real
  2. Puede editar el archivo de configuración real local, sin tener que preocuparse por lo comete (se ignora)
  3. Si el paso 3 fue posible, esto es ampliamente transparente a menos que necesite hacer modificaciones en el archivo

Paso 3 puede ser manejado con un evento de pre-construcción para su proyecto, algo así como:

if not exist web.config copy web.config.template web.config 
2

Usted podría cometer un versión genérica para su repositorio, probablemente solo en la carga inicial (para que el proyecto se construya para aquellos que no saben cómo crear la suya propia), y luego agregue una regla de ignorar más adelante para que pueda agregar sus cadenas de conexión y otras cosas .

+1

Si ha añadido un archivo 'web.config' a un repositorio Mercurial, no importa lo que pone en el archivo' .hgignore', Mercurial siempre hará un seguimiento de los cambios en él, y debe tener cuidado de no realizar cambios en el archivo. –

+0

Ah, es bueno saberlo. Debería haberlo comprobado antes de publicar. Estoy acostumbrado a SVN ... –

Cuestiones relacionadas