Визуальная студия не обновляет html/javascript для сервера/браузера

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

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

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

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

Спасибо..

Ответы

Ответ 1

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

В DevTools вторая опция в меню настроек

Отключить кеш (пока DevTools открыт)

Ответ 2

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

Ответ 3

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

Если вы используете Chrome DevTools, вы можете просто отключить кеш, перейдя на вкладку Network и отметьте Disable Cache

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

Ответ 4

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

Ответ 5

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

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

Ответ 6

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

Ответ 7

Я обнаружил, что файл .js открыт в Инструменты для разработчиков Chrome → Просмотр источников.

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

Ответ 8

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

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

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

Ответ 9

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

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

Ответ 10

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

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

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

Ответ 11

В моем случае я забыл об атрибуте "OutputCache", который использовал для украшения метода действия контроллера:

[OutputCache(Duration = 2000, VaryByParam = "*", Location = System.Web.UI.OutputCacheLocation.Server)]