asp.net asp.net-mvc visual-studio-2010 publish app-offline.htm

asp.net - Archivo app_offline.htm personalizado durante la publicación



asp.net-mvc visual-studio-2010 (8)

Cuando publico mi aplicación ASP.NET MVC genera un archivo app_offline.htm para desconectar el sitio mientras actualiza el sitio web y luego elimina el archivo una vez que la publicación es exitosa.

Esto es genial y realmente me gusta la idea, pero quiero crear mi propio archivo app_offline.htm personalizado que la acción de publicación conoce y colocarlo en un lugar donde no afecte a mi sitio de desarrollo, es decir, no se encuentra en la raíz de mi sitio de desarrollo lo deja fuera de línea todo el tiempo.

EDITAR: A partir de los comentarios en la publicación de Scott Gu sobre app_offline.htm , parece que la personalización del archivo app_offline.htm no fue posible con VS 2005. ¿Ha cambiado esto con VS 2008 y ahora VS 2010?


¡La respuesta de Andrew Bullocks funciona como un encanto! aunque depende de qué estudio visual estés usando.

C: / Users / NOMBRE DE USUARIO / AppData / Roaming / Microsoft / VisualStudio

es el directorio al que primero debe app_offile.htm , elija su versión VS [8.0 / 9.0 .....] y edite el archivo app_offile.htm .


¿Has visto esto?

App_Offline.htm

Puede que no sea (exactamente) lo que quieres, pero sí resuelve el problema, creo.


En 2006, Scott Gu dijo que no había forma de personalizar el archivo que VS genera en Publish.

Comentario dentro del artículo original

Me interesaría resolver esto también, pero no pude encontrar nada definitivo en contrario en Google.


Para los usuarios de Visual Studio Express 2013 para la Web, el archivo se encuentra en C: / Users [usuario] / AppData / Roaming / Microsoft / VWDExpress / 12.0

Ese puede ser modificado a tus necesidades.


Puede usar un archivo por lotes que llame al compilador con la información del directorio actual como parámetros ... Luego copia app_offline.htm y copia el nuevo archivo. Ejecútelo desde donde está la fuente.

Yo personalmente uso un programa que es un poco más elaborado que el lote y también comprueba el hash de archivos para determinar si necesitan actualizar crea un archivo comprimido de nuevos archivos y lo extrae para el host remoto y elimina los archivos que designamos son para pruebas unitarias cuando pasando de la prueba a la producción. También he combinado la integración de SVN en mi solución, por lo que cuando publica para prueba o producción también se compromete opcionalmente con SVN. El programa se almacena en una unidad de red y se llama desde un archivo por lotes en la PC local con la información del directorio actual. De esta manera, los desarrolladores no tienen que actualizar al nuevo implementador o la aplicación_salida si ocurre algún cambio. Finalmente, elimina la app_offline.

Consulte http://msdn.microsoft.com/en-us/library/system.web.compilation(v=vs.80).aspx para obtener más información o http://msdn.microsoft.com/en-us/library/ms229863(v=vs.80).aspx si solo está haciendo un lote rápido!

Además, en la publicación que mencionaste inicialmente, también verifiqué que puedes cambiarla, pero la cambias para otros utilizando la función de publicación también. Es por eso que te dieron la respuesta que eras.


Yo uso mi propio

app_offline.htm_

archivo en la solución, que se publica. Mi script de implementación luego lo renombra (eliminando el final) para hacerlo activo.

Luego puedo ejecutar mis scripts db / hacer lo que sea, luego renombrar el archivo y recuperar el sitio.


Una solución fácil que muchos pueden encontrar adecuada implica simplemente agregar su propio archivo también llamado "app_offline.htm" a su solución.

He probado este método, usando Visual Studio 2015, y de hecho funciona.

Sin embargo, el único inconveniente es que durante el proceso de publicación, el archivo generado por defecto app_offline.htm se copia primero , luego los archivos de la solución en lo que parece estar en / cerca del orden alfabético.

Esto significa que su archivo app_offline.htm personalizado rápidamente (pero no instantáneamente) sobrescribe el archivo generado por el sistema. Por lo tanto, la copia (generada) del sistema feo de app_offline.htm podría ser app_offline.htm a solicitudes dentro de una ventana de 1-2 segundos para iniciar la publicación, antes de ser actualizada con su archivo personalizado.

El proceso de publicación borra automáticamente app_offline.htm del servidor remoto, independientemente de su contenido u origen.

La ventaja es (sobre la sustitución de la copia del sistema) que su propia copia es portátil, es automáticamente específica de la solución y funciona con el control de origen.

Sé que esta pregunta es antigua, pero espero que esto ayude a otros a lidiar con este problema.


Sé que esto es viejo, pero desde que encontré una solución después de mirar aquí, pensé que debería dar una respuesta. VS 11 contiene el archivo de publicación app_offline.htm en esta ubicación:

C:/Users/[user]/AppData/Roaming/Microsoft/VisualStudio/11.0/app_offline.htm

He probado esto y lo he personalizado, y funciona si cambias este archivo. El lado negativo, por supuesto, es que este es el archivo utilizado para todas las publicaciones web.