Visual Studio Development Server не обновляет css и javascript?
Недавно я вернулся к проекту веб-сайта, который был на backburner. С момента возобновления работы я заметил, что изменения css и javascript не распознаются приложением при работе в Visual Studio Development Server. Это раньше работало нормально. Я могу изменить таблицы стилей и javascript и запустить приложение и протестировать. Теперь единственный способ проверить приложение - опубликовать его на локальном сервере IIS (хотя я считаю, что перезагрузка моего компьютера также устраняет проблему).
Использование Visual Studio 2008 (9.0.30729.1)
То, что изменилось, так как я уверен, что он работает правильно, - это операционная система от Vista x64 Home Premium Edition до Win 7 x64 Ultimate, и я переместил источник проекта с c: на d:. Хотя я вернулся к C: с теми же отрицательными результатами. Я также переместил некоторые функции в отдельных службах WCF, размещенных консольными приложениями (двумя служебными узлами), которые были отлажены при запуске веб-сайта при отладке.
Остановка сервера dev ничего не делает.
Проверка (с использованием VSS 2005) ВСЕ файлы, чтобы гарантировать, что ничего не читается, ничего не делает.
Единственное, что работает, это публикация в IIS или перезагрузка моей машины. Оба нежелательны.
Я даже буду удовлетворен, если есть процесс, который мне нужно прекратить каждый раз, когда я прекращаю отладку, чтобы не использовать предыдущие копии вещей.
Любые решения?
Ответы
Ответ 1
Сервер может отправлять заголовки в браузер, которые заставляют его хранить кешированные копии. Простой способ проверить это на пустой ваш браузер cache.
Если это исправлено, вам нужно изучить HTTP-заголовки, которые вы получаете с сервера. developer tools (aka F12 tools) в вашем браузере по выбору выведут заголовки, возвращаемые сервером. Затем решите, хотите ли вы продолжать использовать эти настройки кэширования (хорошо для скорости) или изменить их (хорошо для развития).
И как вы настраиваете эти заголовки, спросите вы? Это зависит от сервера. Вот ссылка на инструкции для общих серверов:
Ответ 2
Быстрый способ - добавить случайные параметры после атрибута script или css файла src.
например
<script type="javascript" src="@Url.Content("~/scripts/myScripts.js?" + DateTime.Now.ToString("ddMMHHmmss")"></script>
поэтому браузер всегда будет считать свой новый файл и не будет кэшировать.
Обязательно удалите это при развертывании на реальном сервере.
Ответ 3
Попробуйте использовать
<link href"~/Content/Style.css" rel="stylesheet"/>
вместе с расслоениями. Это сработало для меня