Visual Studio 2013 кэширование старой версии файла .js
Я работаю над небольшим веб-проектом api в Visual Studio 2013 Ultimate. Windows 2013. Internet Explorer 9. Когда я запускаю (отлаживаю) из VS с помощью внутреннего веб-сервера (я думаю, это IIS Express, теперь), я нахожу, что изменения, которые я делаю (и сохраняю) на странице javascript, являются игнорируются. Размещение точки останова в javascript показывает старый код без моих изменений.
CTRL + F5 не заставляет приложение использовать обновленную страницу. Проверка страницы, а затем проверка ее работы часто работает. Есть ли какие-то настройки или трюки, которые помогут мне здесь?
Ответы
Ответ 1
Очистка истории кеша показалась немного чрезмерной, и я не хочу делать это все время.
Следующее решение помогло мне в Internet Explorer:
Сначала включите отладку script:
- Меню "Сервис" → "Свойства обозревателя"
- На предварительной вкладке снимите флажок "Отключить script отладка (Internet Explorer)"
Затем убедитесь, что вы получили самую новую страницу:
- В меню "Сервис" выберите "Свойства обозревателя".
- На вкладке "Общие" в разделе "Просмотр истории" нажмите "Настройки".
- В разделе "Проверить новые версии сохраненных страниц" убедитесь, что выбрано "Каждый раз, когда я посещаю веб-страницу".
- Нажмите кнопку OK.
Ответ 2
Если у кого-то есть эта проблема и ctrl + F5, очистка кеша браузера, перезапуск отладки, смена браузера, изменение проекта web.config и перестройка не помогают, то есть одна последняя вещь, которая работает (по крайней мере для меня): перезапустить Visual Studio.
Также меняет порт отладки локального IIS Express, но это гораздо больнее, если вы работаете в команде или используете Azure Active Directory и т.д.
Ответ 3
Единственное решение, которое сработало для меня, - это изменение имени файла javascript и обновление конфигурации пакета, чтобы указать на новый файл. Я попробовал все остальное от перезагрузки моего компьютера, удаления bin/obj/cache/etc, CTRL F5, перезагрузки IIS и т.д.
Ответ 4
Если я прав, вы должны создать (ctrl + shift + b) проект перед отладкой. Этот веб-сервер работает в фоновом режиме в порту выбора, когда вы начинаете работу в режиме отладки. Вы можете закрыть задачу (задачи) рядом с вашими часами), если вам нужен новый сеанс или нажмите F5 в VS.
Вы можете избежать использования встроенного веб-сервера, если у вас есть IIS (Express) или что-то подобное.
Перейдите к RUN и введите iis
в зависимости от установленной вами ОС. В противном случае попробуйте установить его в Control Panel
> Programs or Features
> Turn windows features on or off
- добавить сайт (имя сайта, путь, имя хоста)
- добавить в файл хоста
127.0.0.1 hostname
(c:\windows\system32\drivers\etc\hosts)
Отладка вашего проекта в Visual Studio:
- откройте свой веб-сайт на своем имени хоста в вашем любимом браузере.
- нажмите DEBUG
- щелкните по ATTACH TO PROCESS
- найти w3wp.exe
- нажмите ctrl + f5 в своем браузере, чтобы начать отладку кода сервера.
В зависимости от того, как настроено ваше решение/проект, вы можете публиковать файлы своего проекта непосредственно в IIS, если вы решите опубликовать его до File System
. Щелкните правой кнопкой мыши на своем проекте и выберите publish
. Установите его там.
Если ваша Visual Studio обновлена, вы можете публиковать отдельные файлы с помощью alt+$+p
.
Надеюсь, что это поможет.
Ответ 5
Проблема полностью моя. Я использую Chrome, где настройка кеша, который будет очищаться при каждой перезагрузке, является постоянной. Если в IE9 он должен включаться при каждом открытии браузера.
Ответ 6
Что сработало для меня, было
- Завершение обновления Visual Studio 2013 2 (я выиграл 8.1 всех 64-разрядных версий)
- Удалить очистить "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Временные файлы ASP.NET"
- Очищенное и восстановленное решение
- Перезапустите IIS Express. Если вы используете IIS, просто запустите приложение и пул.
- Запуск в VS 2013 Debug (F5) он по-прежнему загружает старый файл в Script Документы > Windows Internet Explorer > Page_Name.aspx
- Затем инструменты разработчика F12 очищают кеш браузера (IE), у меня такая же проблема в Chrome
- F5 в браузере перезагружает страницу, наконец, загружает измененный файл JS Script с моим отладчиком; запись и точка останова
Ответ 7
Я часто получаю эту проблему. Обычно я сначала загружаю диск, на котором установлена ОС (в моем случае C:
), и удаляем все application.dll
и application.pdb
(он хранится в Windows\Microsoft.net\Framework\vx.x.xxxxx\Temporary ASP.NET Files
). Удалите application.dll
и application.pdb
в users\xxx
. Войдите в каталог приложения и снова удалите application.dll
и application.pdb
. Очистите кеш браузера. Перезапустите систему (холодный перезапуск). Создайте приложение. Большая часть времени работала.
Примечание. Я использую приглашение DOS для удаления, так как я к этому привык. Но у пользователя должны быть привилегии администратора. Это не идеальное решение, но оно работает.
Ответ 8
Найдите раздел кода, где файл JavaScript загружен на страницу, и добавьте строку параметров в конец для тестирования. Например:
Изменить src= "../Ресурсы/js/MyScriptFile.js"
В src= "../Ресурсы/js/MyScriptFile.js? v = 23"
Каждый раз, когда вы обновляете свой файл JavaScript, вы меняете номер версии. Это заставит браузер загружать новую версию файла JavaScript. После завершения тестирования вы можете удалить строку "? V = 23". Бонус, если вы оставите его там, конечный пользователь не потребуется обновлять свой кеш браузера после того, как вы развернули свой код для производства.
Ответ 9
Итак, у меня была такая же проблема, и я мог избежать этого, отменив .ASP.NET-Server
. ASP.NET-Server из Visual Studio для отладки
из Visual Studio и перезапуск отладки. Надеюсь, это поможет кому-то.
Ответ 10
Я перезапустил Visual Studio и перестроил проект, но проблема осталась для меня - отладчик продолжал запускать старую копию файла .js. Решение для меня состояло в том, чтобы просто перезагрузить машину. (Когда все остальное не удается...)
Для справки, я в настоящее время использую Visual Studio 2015.