Visual Studio не обновляет HTML / Javascript на сервер / браузер

Это приложение MVC 4, использующее шаблон Hot Towel SPA. Всякий раз, когда я изменяю что-либо в HTML и / или JavaScript, единственный способ получить новый код для отображения - это очистить кеш браузера. F5, cntrl-F5, shift-F5, ничего не работает.

Я обычно не веб-разработчик и просто учусь этому. Я делал обычные MVC раньше и у меня не было этой проблемы, может быть, это связано с тем, где HTML и javascript находятся в моем проекте (то есть в папке /App)? Я схожу с ума, пытаясь понять это.

Я могу полностью удалить файл HTML и запустить приложение, и оно все еще работает, как и раньше. Очистите кеш и запустите, и я получу обновление.

Он работает с использованием IIS Express с использованием Firefox, Chrome, IE...

Спасибо..

13 ответов

Решение

В Opera и Chrome (и, возможно, других) вы можете отключить кэширование в "режиме разработки".

Находясь в DevTools, вторая опция в меню настроек

Отключение кэш-памяти (в то время как Devtools открыта)

Я также столкнулся с этой проблемой и оказалось, что она была связана с кэшированием.

При использовании Chrome DevTools вы можете просто отключить кэш, перейдя на вкладку " Сеть" и отметив " Отключить кэш".

Это отключит кэш только тогда, когда Dev Tools открыт.

Перейдите к файлу web.config и внесите в него изменения. Неважно, что вы делаете. Например, введите символ, а затем удалите его, соберите проект и запустите его снова. Надеюсь, это сработает.

Ctrl+ Shift+F5 добьется цели! Похоже, кеш браузера является частью проблемы:)

В моем случае сайт iis express не обновляется, но сайт, созданный iis Manager, работает правильно?

Возможное решение этой проблемы - установить опцию "использовать эту 64-битную версию iis express для веб-сайтов и проектов" в Visual Studio, расположенной в меню "Параметры-> Проекты и решения-> Веб-проекты".

Я обнаружил, что у меня открыт файл.js в Chrome Developer Tools -> Sources View.

Когда я закрыл файл и обновил страницу, новый файл.js обнаружился, как и ожидалось.

У меня была проблема с перемещенными файлами.ts & .html на сервере, и мне пришлось:

  1. прекратить отладку
  2. очистить всю папку output/dist внутри моего ClientApp
  3. начать отладку снова
  4. Ctrl-F5 для принудительного обновления кэша в браузере

Простое отключение кеша браузера, принудительная перекомпиляция приложения.net или даже запуск ng serve не дали никакого эффекта.

Браузеры по умолчанию кешируются. Вы можете отключить кеширование в своем браузере, чтобы получить измененные файлы.

Ниже приведены некоторые из вариантов, которые мы можем использовать для решения проблемы.

  • ctrl + shift + r (это произведет жесткое обновление вашей текущей вкладки)
  • ctrl + F5 (это заставит кеш обновиться в браузере)
  • Остановите отладку и измените файл web.config и запустите снова.
  • Прекратите отладку и очистите проект, перестройте его и запустите проект.

Ни один из перечисленных выше методов не работает согласованно, и если учесть, что на панели задач используются разные браузеры в зависимости от используемой версии / сборки Windows, вам может потребоваться очистить кеш другого браузера в каждом случае.

Однако похоже, что реальная проблема заключается не столько в кешировании браузера, сколько в том, что VS решает, какие файлы развертывать на локальном сервере IIS Express, используемом для тестирования / разработки. Во многих случаях при нажатии кнопки "Пуск" измененные файлы html и / или js не попадают в локальное развертывание, даже если вы также измените файл web.config.

Я последовательно выполнял эту работу: я выбрал проект веб-приложения (в обозревателе решений), открыл свойства, щелкнул вкладку "Пакет / публикация в Интернете", а затем в разделе "Элементы для развертывания" выбрал "Все файлы в этом проекте".

У меня отлично работает!

Если вы просто хотите проверить локально, вы можете попробовать

A) Создайте виртуальный каталог. Следуйте по пути: Project / Properties / Web
Раздел "Поиск серверов" Нажмите "Создать виртуальный каталог".

Б) Следуйте ниже пути: Проект / Свойства / Веб
Раздел "Поиск серверов" Нажмите "Раскрыть" и измените выбранное значение между "Экспресс" и "Локальный", затем "Создать виртуальный каталог"

В случае отключения кеша и редактирования файла web.config не работает.

Просто закройте решение, откройте его и попробуйте. Странно, но у меня это сработало.

После открытия страницы в браузере просто обновите ее, нажав F5.

Другие вопросы по тегам