Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Visual Studio 2013缓存旧版本的.js文件_Javascript_Visual Studio 2013 - Fatal编程技术网

Javascript Visual Studio 2013缓存旧版本的.js文件

Javascript Visual Studio 2013缓存旧版本的.js文件,javascript,visual-studio-2013,Javascript,Visual Studio 2013,我正在Visual Studio 2013 Ultimate中从事一个小型web api项目。Windows 2013。Internet Explorer 9。当我使用内部web服务器(我猜现在是IIS Express)从VS运行(调试)时,我发现对javascript页面所做的更改(并保存)被忽略了。在javascript中放置断点将显示旧代码,而不显示我的更改 CTRL+F5不会强制应用程序使用当前更新的页面。先签入页面,然后再签出页面通常是有效的。这里有什么设置或技巧可以帮助我吗?如果我没

我正在Visual Studio 2013 Ultimate中从事一个小型web api项目。Windows 2013。Internet Explorer 9。当我使用内部web服务器(我猜现在是IIS Express)从VS运行(调试)时,我发现对javascript页面所做的更改(并保存)被忽略了。在javascript中放置断点将显示旧代码,而不显示我的更改


CTRL+F5不会强制应用程序使用当前更新的页面。先签入页面,然后再签出页面通常是有效的。这里有什么设置或技巧可以帮助我吗?

如果我没有错,您应该在调试之前构建(ctrl+shift+b)您的项目。无论何时在调试模式下启动,此web服务器都会在后台选择的端口上运行。如果需要新会话,您可以关闭任务(时钟旁边的进程栏),或在VS中按F5

如果您有IIS(Express)或类似工具,则可以避免使用内置web服务器。 转到RUN并键入
iis
,具体取决于您的操作系统,该操作系统已安装。否则,请尝试将其安装在控制面板
程序或功能中
打开或关闭windows功能

  • 添加网站(网站名称、路径、主机名)
  • 添加到主机文件
    127.0.0.1主机名
    (c:\windows\system32\drivers\etc\hosts)
要在Visual Studio中调试项目,请执行以下操作:

  • 在您喜爱的浏览器中以主机名打开您的网站
  • 单击调试
  • 单击“附加到进程”
  • 查找w3wp.exe
  • 在浏览器中按ctrl+f5开始调试服务器代码
根据解决方案/项目的设置方式,如果选择发布到
文件系统
,则可以将项目文件直接发布到IIS。在项目上单击鼠标右键,然后选择“发布”
。从那里开始设置

如果Visual Studio是最新的,则可以使用
alt+$+p
发布单个文件


希望能有帮助。

对我有用的是

  • 关闭Visual Studio 2013更新2(我已赢得8.1所有64位)
  • 删除并清除“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ASP.NET临时文件”
  • 清洗和重建溶液
  • 重新启动IIS Express。如果使用IIS,只需重新启动应用程序和池
  • 在VS 2013调试(F5)中运行时,它仍会在脚本文档>Windows Internet Explorer>Page_Name.aspx下加载旧文件
  • 然后F12开发者工具清除浏览器缓存(IE),我在Chrome上也有同样的问题
  • F5在浏览器中重新加载页面,最后使用我的调试器加载更改后的JS脚本文件;条目和断点集

  • 如果有人遇到此问题,并且ctrl+F5、清除浏览器缓存、重新启动调试、更改浏览器、更改web.config和重建项目都没有帮助,那么最后一件事是有效的(至少对我来说):重新启动Visual Studio


    更改本地IIS Express上的调试端口也会有所帮助,但如果在团队中工作或使用Azure Active Directory等,这将非常痛苦。

    我经常遇到这个问题。通常我要做的是首先进入安装操作系统的驱动器(在我的例子中是
    C:
    ),然后删除所有
    application.dll
    application.pdb
    (它存储在
    Windows\Microsoft.net\Framework\vx.x.xxxxx\ASP.net临时文件中)。在
    users\xxx
    中删除
    application.dll
    application.pdb
    。进入应用程序目录,再次删除
    application.dll
    application.pdb
    。清除浏览器缓存。重新启动系统(冷重启)。构建应用程序。大部分时间都在工作。
    注意:我使用DOS提示符进行删除,因为我已经习惯了。但是用户应该具有管理员权限。这不是一个完美的解决方案,但它是有效的

    清除缓存历史记录似乎有点过分,我不想一直这样做

    以下解决方案在Internet Explorer中适用于我: 首先启用脚本调试:

  • 工具菜单->选择Internet选项
  • 在“高级”选项卡上取消选中“禁用脚本调试(Internet Explorer)”
  • 然后确保您获得最新的页面:

  • 从“工具”菜单中选择“Internet选项”
  • 在“常规”选项卡上的“浏览历史记录”下,单击“设置”
  • 在“检查存储页面的更新版本”下,确保选中了“每次访问网页时”
  • 单击OK按钮

  • 唯一对我有效的解决方案是更改javascript文件名并更新捆绑包配置以指向新文件。我尝试了所有其他方法,包括重新启动电脑、删除bin/obj/cache/etc、按CTRL键F5、重新启动IIS等等。

    我重新启动了Visual Studio并重建了项目,但问题仍然存在——调试器继续运行.js文件的旧副本。对我来说,解决办法就是简单地重新启动机器。(当其他一切都失败时…)


    作为参考,我目前正在使用Visual Studio 2015。

    找到JavaScript文件加载到页面的代码部分,并在末尾添加一个参数字符串以进行测试。例如:

    更改src=“../Resources/js/MyScriptFile.js”

    To src=“../Resources/js/MyScriptFile.js?v=23”


    每次更新JavaScript文件时,都会更改版本号。这将强制浏览器加载新版本的JavaScript文件。完成测试后,可以删除字符串“?v=23”。另外,如果您将其保留在那里,则在您将代码部署到生产环境后,最终用户将不需要刷新其浏览器缓存

    所以我遇到了同样的问题,我可以通过取消.ASP.NET-Server来避免这个问题
    并重新启动调试。希望这对某人有所帮助。

    当然。为了解决这个问题,我进行了清理、构建和重建