Подтвердить что ты не робот

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 или перезагрузка моей машины. Оба нежелательны. Я даже буду удовлетворен, если есть процесс, который мне нужно прекратить каждый раз, когда я прекращаю отладку, чтобы не использовать предыдущие копии вещей.

Любые решения?

4b9b3361

Ответ 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"/>

вместе с расслоениями. Это сработало для меня