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

Visual Studio 2013 кэширование старой версии файла .js

Я работаю над небольшим веб-проектом api в Visual Studio 2013 Ultimate. Windows 2013. Internet Explorer 9. Когда я запускаю (отлаживаю) из VS с помощью внутреннего веб-сервера (я думаю, это IIS Express, теперь), я нахожу, что изменения, которые я делаю (и сохраняю) на странице javascript, являются игнорируются. Размещение точки останова в javascript показывает старый код без моих изменений.

CTRL + F5 не заставляет приложение использовать обновленную страницу. Проверка страницы, а затем проверка ее работы часто работает. Есть ли какие-то настройки или трюки, которые помогут мне здесь?

4b9b3361

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