2009-10-14 19 views
22

Recientemente he regresado a un proyecto de sitio web que ha estado en un segundo plano. Desde que reinicié el trabajo, noté que la aplicación no reconoce los cambios CSS y javascript cuando se ejecuta en Visual Studio Development Server. Esto funcionó bien previamente. Podría cambiar las hojas de estilo y javascript y ejecutar la aplicación y la prueba. Ahora, la única forma en que puedo probar la aplicación es publicarla en mi servidor IIS local (aunque creo que reiniciar mi PC también soluciona el problema).Visual Studio Development Server no actualiza css y javascript?

con Visual Studio 2008 (9.0.30729.1)

Las cosas que han cambiado desde que estoy seguro de que funcionaba correctamente es el sistema operativo, desde Vista Home Premium x64 Edition para Windows 7 x64 Ultimate y tengo movió el origen del proyecto de c: a d :. Aunque volví a C: con los mismos resultados negativos. También he trasladado algunas funcionalidades en servicios separados de WCF, alojados en aplicaciones de consola (dos servidores de servicio) que se ponen a depurar cuando el sitio web se inicia en la depuración.

Detener el servidor de desarrollo no hace nada. Verificar (utilizando VSS 2005) TODOS los archivos para asegurar que nada sea de solo lectura no hace nada. Lo único que funciona es publicar en IIS o reiniciar mi máquina. Ambos indeseables. Incluso estaré satisfecho si hay un proceso que necesito terminar cada vez que dejo de depurar, para asegurarme de no usar copias anteriores de las cosas.

¿Alguna solución?

+0

Aunque existen _manual_ soluciones para esto (Ctrl + F5), igual creé un problema de Microsoft Connect para intentar que el entorno de desarrollo IDE realice estos pasos automáticamente. Véalo aquí: https://connect.microsoft.com/VisualStudio/feedback/details/800421/visual-studio-development-server-not-reflecting-updated-css – atconway

Respuesta

29

El servidor puede estar enviando encabezados al navegador que hace que siga usando copias en caché. La forma más sencilla de probar esto es a emptyyourbrowsercache.

Si eso lo soluciona, debe estudiar el HTTP headers que obtiene del servidor. El developertools (a.k.a. F12 tools) en su navegador de elección expondrá los encabezados devueltos por el servidor. Luego, decida si desea seguir usando estas configuraciones de almacenamiento en caché (good for speed) o cámbielas (good for development).

¿Y cómo ajustas estos encabezados, preguntas? Depende del servidor. Aquí hay un enlace a las instrucciones para servidores comunes:

+1

¡Gracias! limpiar el caché de mi navegador solucionó el problema. Desearía haberlo intentado hace tres días :) –

+13

Una forma más fácil de hacer esto sería presionando CTRL + F5 en su navegador – sshow

+6

Esto no funciona para mí. Probado con 4 navegadores diferentes. Vaciado el caché en todos ellos. Presiona CTRL + F5 más veces de las que podría contar. El servidor de desarrollo Asp.net simplemente no quiere actualizar con ningún cambio de marcado/css/javascript. Detener e iniciar el servidor de prueba es la única forma de reconocer los cambios. – NinjaBomb

5

Una forma rápida es añadir parámetros aleatorios después de atributo src del archivo de script o CSS. por ejemplo

<script type="javascript" src="@Url.Content("~/scripts/myScripts.js?" + DateTime.Now.ToString("ddMMHHmmss")"></script> 

modo navegador siempre asumirá su un nuevo archivo y no caché.

Asegúrese de eliminar esto al implementar en el servidor activo.

0

intenta utilizar

<link href"~/Content/Style.css" rel="stylesheet"/>

junto con los paquetes.Esto funcionó para mí

Cuestiones relacionadas