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 на сервере, и мне пришлось:
- прекратить отладку
- очистить всю папку output/dist внутри моего ClientApp
- начать отладку снова
- 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.